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,如果不是,继续判断,如果是,直接else12 if (num != 0) {13 //读入的整数计算正数个数、负数个数、总和,直到读入为0跳出循环14 while (num != 0) {15 if (num > 0)16 positiveNum++;17 else18 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 " + sum27 / (positiveNum + negativeNum));28 }else29 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 } else25 System.out.println("Your answer is wrong.\n" + 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 " + correctCount36 + "\nTest time is " + testTime / 1000 + " seconds");37 }38 }