今天是来到黑马的第十二天,从十号的晚上开始,每天晚上的自习,我们的大D先生就会给我们出两道题,锻炼我们手写代码的能力,写出来还有福利的,哈哈。在书写过程中需要写出自己的思路,程序的语句要有的注解。今天出了两个题目,分别如下:
第一题:打印出1---100的整数中,个位不为7、十位不为7以及不是7的倍数的数
第二题:随机生成五个数,输出五个数中的最大值,最小值以及五个数的总和。
下面我就我个人的愚见,还望各位大神勿喷,如果有错误之处,还请各位指正。
第一题:
分析:
1、使用for循环遍历1--100个数。
2、在for循环中使用if判断,条件为:!/10 != 7 && i % 10 != 7 && i % 7 != 0; 只要满足上述条件,
3、打印出的数值就是题目要求的。
下面把代码奉上:
public class Example01{
public static void main(String[] args){
for(int i = 0; i <= 100; i++){ //for循环遍历,得到数值
if(!/10 != 7 && i % 10 != 7 && i % 7 != 0){ if判断语句,将个位,十位,以及7的倍数的值不打印
System.out.println(i); 输出符合题目要求的数值。
}
}
}
}
第二题:随机生成五个数,输出五个数中的最大值,最小值以及五个数的总和。
分析:
1、使用random来生成五个随机数。
2、使用for循环,每生成一个数,就判断一次,最后生成五个随机数时,最大值以及五个数的总和就已经运算完毕
3、最后打印随机生成的五个数值,同时也打印出最大值,最小值和五个数值的总和。
代码如下:
public class Example02 {
public static void main(String[] args) {
//调用show方法,输出结果
show();
}
public static void show() {
//定义一个长度为5的数组,用来存储随机产生的随机数
int[] arr = new int[5];
//可以定义一个长度为3的数组,用来存储数组产生的最大值,最小值以及五个随机数的总和。(别人给予的提示,也可以不用)
//int[] arr1 = new int[3];
int max = 0; //将最大值赋值为0
int sum = 0; //将总和赋值为0;
for(int i = 0; i < 5; i++){ //使用循环给数组中添加数值。
int x = (int)(Math.random() * 100) + 1; //使用random来产生1--100的随机数
arr[i] = x; 将产生的随机数存储到arr数组中
if(arr[i] > max){ //判断最大值
max = arr[i];
}
sum += arr[i]; //五个随机数的总和
}
int min = arr[0]; //将arr[0]设置为最小值
for(int j = 0; j < 5; j++) { //判断最小值
if(min > arr[j]) {
min = arr[j];
}
}
// arr1[0] = max; 如果不使用数组来存储,这步可以省略
// arr1[1] = min;
// arr1[2] = sum;
System.out.println("输入的五个随机数为:"); //遍历arr数组,将生成的五个随机数打印到控制台
for(int i = 0;i < 5; i++) {
System.out.print(arr[i] + " ");
}
System.out.println(); //输出最大值,最小值以及五个随机数的总和
System.out.println("最大值为:" + max + ",最小值为:" + min + ",总和为:" + sum);
// for(int i = 0;i < 3; i++) { 如果不是用数组来存储最大值,最小值以及五个随机数的总和,可不使用
// System.out.print(arr1[i] + " ");
// }
}
}
以上就是第二题的代码,将代码写出来,不是为了炫耀什么,只是想和大神们交流,也可以给真正零基础的朋友一点微不足道的帮助,希望大神勿喷。同时,如果有什么不对的地方,还望大神能给我指正,谢谢。
以上就是今天的试题练习,明天精彩继续....
|
|