黑马程序员技术交流社区
标题:
每日练习题(续······)
[打印本页]
作者:
贺小梅
时间:
2015-11-24 00:47
标题:
每日练习题(续······)
2015.11.23,今天是我来到黑马的第十三天,每天写一个博客,是对自己每天生活的记录,同时也是对自己每天学习的总结。今天的自习虽然是考试,虽然考的也不怎么好,但是也不会影响我继续写博客的心情,废话我就不多说了,下面直接给出题目。
第一题:
键盘录入5个数据,存储到一个数组中,取最大值和最小值。
第二题:
求三位数的质数,只能被本身和1整除,并将得出的质数倒序输出。
下面是个人的解题过程和自己的程序分析,先来第一题。
分析:
1、使用键盘录入,故需要调用Scanner来输入五个数
2、创建一个int类型的,长度为为5的数组。
3、分别写出判断最大值和最小值的方法
4、打印出最大值和最小值
import java.util.Scanner; //导包
public class Example01{
public static void main(String[] args){
int[] arr = new int[5]; //定义一个长度为5的int型的数组
int max = 0;
Scanner sc = new Scanner(System.in); //创建Scanner的对象
for(int i = 0; i < 5; i++){
arr[i] = sc.nextInt(); //采用循环来接收键盘录入的五个数值
if(arr[i] > max){
max = arr[i]; //比较最大值
}
}
int min = arr[0];
for(int i = 1; i < 5; i++){ //比较最小值
if(min > arr[i]){
min = arr[i];
}
}
System.out.println("输入的五个数为:"); //打印出输入的五个数
for(int i = 0; i < 5; i++){
System.out.println(arr[i]);
}
System.out.println("最大值为: " + max + " ,最小值为: " + min); //将最大值和最小值打印在控制台上
}
}
以上就是我对第一个题的解法,如果您有任何更好的方法,可以在帖子下面留下哦....
下面是第二题:
求三位数的质数,只能被 本身和1整除,倒序输出 (for循环,if判断)
public class ZiShu{
public static void main(String[] args){
//利用for循环对100-999个数进行遍历,因为质数只能被本身和1整除,所以将i与小于自己的数相除,
//从最大到最小,倒序输出
boolean flag = false;
for(int i = 999; i >= 100; i--){
for(int j = 2; j < i; j++){
if(i % j == 0){
//只要有任意一个J可以将i整除,就将flag赋值为true,此时既终止程序,减少程序没必要的计算。
flag = true;
break;
}
}
//如果程序不进入上一个if语句中,则flag仍为初始值flase,这该语句执行,并输出此时的i的值,即为质数
if(flag == false){
System.out.println(i);
}
//如果执行了第一个if语句,则flag的值变成了true,此时应该将flag的值赋为flase,如果该语句不存在,
//则会出现无输出,因为flag一直为true。
flag = false;
}
}
}
以上就是我对第二题的解题思路,还是那句老话,如果你有更好的方法,希望你可以跟帖,我们交流,好的东西是在思维的碰撞中产生的,期待你们哦.....
每天都是美好的一天,从现在起我们一起努力,也许在多年以后,当我们回头来看曾经做过的路的时候,你会感谢自己曾经的努力,因为有了你曾经的努力,现在你得到了你想要得到的东西,你想要的生活,你想要的追求,做一个有梦的人。
作者:
孙志明
时间:
2015-11-24 07:53
顶你!长点见识
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2