已有101人关注
从入门到精通171页习题1
发表在Java图书答疑 2015-11-18
是否精华
版块置顶:
package com.lzw;

import java.util.*;

public class RandomTest {

/**
 * @param args
 * 获取2到32之间的6个偶数,并且求这6个偶数的和
 */
public static double EvenNum(double num1,double num2){
double s=0;
int[] j=new int[6];
Random cres = new Random();
for (int w = (int)num1,i=0; w <= (int)num2; w += 2) {
j[i] = cres.nextInt((int) num2);
if (j[i]!=0&&j[i] % 2 == 0) {
System.out.println(j[i]);
s += j[i];
i++;
}
if(i==6) break;
}
return s;
}
public static double EvenNum2(double num1,double num2){
double s=0;
int[] j=new int[6];
for(int i=0,w=0;i<20;i++){
j[w]=(int)num1+(int)(Math.random()*(num2-num1));
if (j[w]!=0&&j[w] % 2 == 0) {
System.out.println("打印2到32之间的偶数(不包括32)"+j[w]);
s += j[w];
w++;
}
if(w==6) break;
}
return s;
}
public static void main(String[] args) {
System.out.println("和为:"+EvenNum2(2,32));
}

}
这个代码是给出的标准答案。
1.这个代码的前半部分和后半部分分别实现的什么功能
2.后半部分的i<20,这个20 指的什么
分享到:
精彩评论 1
菜鸟级精英
学分:0 LV1
TA的每日心情
开心
2020-03-23 21:05:48
2015-11-19
沙发
这个代码写的不好, EvenNum()与 EvenNum2()逻辑是完全一样的,只是输出的内容有点变化而已。这里的i<20没有任何意义,就是循环20的意思。建议你参考此段代码:
import java.util.Random;

public class RandomTest {
/**
 * 获取2到32之间的6个偶数,并且求这6个偶数的和
 * 
 * @param num1
 *            数字起始范围
 * @param num2
 *            数字中止范围(不包括本身)
 * @return 返回指定范围内随机六个偶数的和
 */
public static double EvenNum(double num1, double num2) {
double sum = 0;// 总和
int count = 0;// 计数器
while (true) {
int tmp = (int) num1 + (int) (Math.random() * (num2 - num1));
if (tmp != 0 && tmp % 2 == 0) {
System.out.println("打印2到32之间的偶数(不包括32)" + tmp);
sum += tmp;
count++;
}
if (count == 6) {// 获取六次偶数后跳出循环
break;
}
}
return sum;
}

public static void main(String[] args) {
System.out.println("和为:" + EvenNum(2, 32));
}
}
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照