5.1
1 public class Demo {
2 public static void main(String[] args) {
3 // 创建一个输入对象
4 java.util.Scanner input = new java.util.Scanner(System.in);
5 System.out.print("Enter an integer,the input ends if it is 0: ");
6 //输入一串整数以空格隔开,如果输入0,程序结束
7 int num = input.nextInt();
8 //定义正数与负数的个数变量,定义输入值得总和(不包括0)
9 int positiveNum = 0, negativeNum = 0;
10 double sum = 0;
11 //判断输入的第一个整数是否为0,如果不是,继续判断,如果是,直接else
12 if (num != 0) {
13 //读入的整数计算正数个数、负数个数、总和,直到读入为0跳出循环
14 while (num != 0) {
15 if (num > 0)
16 positiveNum++;
17 else
18 negativeNum++;
19 sum += num;
20 num = input.nextInt();
21 }
22 //输出相应的正数、负数、总和和平均数的值
23 System.out.println("The number of positives is " + positiveNum);
24 System.out.println("The number of negatives is " + negativeNum);
25 System.out.println("The total is " + sum);
26 System.out.println("The average is " + sum
27 / (positiveNum + negativeNum));
28 }else
29 System.out.println("No numbers are entered except 0");
30 }
31 }
5.2
1 public class Demo {
2 public static void main(String[] args) {
3 // 定义问题的数量为10
4 final int NUMBER_OF_QUESTIONS = 10;
5 // 定义变量存放正确的个数,定义变量存放循环次数
6 int correctCount = 0;
7 int count = 1;
8 // 定义开始时间
9 long startTime = System.currentTimeMillis();
10 // 创建一个输入对象
11 java.util.Scanner input = new java.util.Scanner(System.in);
12 // 随机产生两个整数,循环10次
13 while (count <= 10) {
14 // 定义两个整数变量,存放随机产生的1~15内的整数
15 int num1 = (int) (Math.random() * 15) + 1;
16 int num2 = (int) (Math.random() * 15) + 1;
17 // 输入答案
18 System.out.print("What is " + num1 + " + " + num2 + "? ");
19 int answer = input.nextInt();
20 // 如果回答正确,正确的个数加一,回答不正确,输出正确的结果
21 if (num1 + num2 == answer) {
22 System.out.println("You are correct!");
23 correctCount++;
24 } else
25 System.out.println("Your answer is wrong.
" + num1 + " + "
26 + num2 + " should be " + (num1 + num2));
27 // 循环次数加一
28 count++;
29 }
30 // 定义结束时间
31 long endTime = System.currentTimeMillis();
32 // 计算测验时间
33 long testTime = endTime - startTime;
34 // 输出正确答案的个数与测验时间(单位秒)
35 System.out.println("Correct count is " + correctCount
36 + "
Test time is " + testTime / 1000 + " seconds");
37 }
38 }