尝试开发一个程序,获取2~32之间(不包括32)的6个偶数,并取得这6个偶数的和
代码一代:
public class S {
public static int S1(double n1, double n2){
int s = (int)n1 + (int)(Math.random()*(n2 - n1));
if(s%2==0) {
return s;
} else {
return s+1;
}
}
public static void main(String[] args) {
int a[] = new int[7];
int sum = 0;
int t = 0;
for(int i=0; i<6; i++) {
a[i] = S1(2,31);
sum+=a[i];
}
for(int i = 0; i<6; i++) {
System.out.println("这几个偶数为:"+a[i] +" ");
}
System.out.println("偶数的和为:"+sum);
}
}
输出结果:
与预想的不相符,于是将提示从循环中拉出来:
public class S {
public static int S1(double n1, double n2){
int s = (int)n1 + (int)(Math.random()*(n2 - n1));
if(s%2==0) {
return s;
} else {
return s+1;
}
}
public static void main(String[] args) {
int a[] = new int[7];
int sum = 0;
int t = 0;
for(int i=0; i<6; i++) {
a[i] = S1(2,31);
sum+=a[i];
}
System.out.println("这几个偶数为");
for(int i = 0; i<6; i++) {
System.out.println(+a[i] +" ");
}
System.out.println("偶数的和为:"+sum);
}
}
但是还是不好看,想不通,通过查询才知道我的基础不牢固:
输出数组数据时可以用print,这样就不带换行符了。
public class S {
public static int S1(double n1, double n2){
int s = (int)n1 + (int)(Math.random()*(n2 - n1));
if(s%2==0) {
return s;
} else {
return s+1;
}
}
public static void main(String[] args) {
int a[] = new int[7];
int sum = 0;
int t = 0;
for(int i=0; i<6; i++) {
a[i] = S1(2,31);
sum+=a[i];
}
System.out.print("这几个偶数为");
for(int i = 0; i<6; i++) {
System.out.print(+a[i] +" ");
}
System.out.println("偶数的和为:"+sum);
}
}
要是想让偶数和在下一行只需要再加上一个System.out.println()方法:
最终代码:
public class S {
public static int S1(double n1, double n2){
int s = (int)n1 + (int)(Math.random()*(n2 - n1));//返回大于等于n1小于n2的随机数数
if(s%2==0) {
return s;
} else {
return s+1;
}
}
public static void main(String[] args) {
int a[] = new int[7];
int sum = 0;
int t = 0;
for(int i=0; i<6; i++) {
//调用产生随机数的方法并将产生的数依次保存在数组中
a[i] = S1(2,31);
sum+=a[i];
}
System.out.print("这几个偶数为");
for(int i = 0; i<6; i++) {
System.out.print(+a[i] +" ");
}
System.out.println();
System.out.println("偶数的和为:"+sum);
}
}