假设你想开发一个一年级学生练习减法的程序。程序随机产生两个一位整数:number1和number2,且满足number1>=number2。程序向学生显示问题,例如,“What is 2-0?”。当学生输入答案之后,程序会显示一个消息表明该答案是否正确。
前面的程序使用Systems.currentTimeMillis()产生两个随机数。更好的方法是使用Math类中的random()方法。调用这个方法会返回一个双精度的随机值d且满足0.0≤d<1.0。这样,(int)(Math.random()*10)会返回一个随机的一位整数(即0到9之间的数)。
程序可能如下工作:
1)产生两个一位整数number1和number2。
2)如果number1<number2,交换number1和number2。
3)提示学生回答“what is number1-number2?”。
4)检查学生的答案并且显示该答案是否正确。
完整的程序如程序。
import java.util.Scanner;
public class SubtractQuiz {
public static void main(String[] args) {
// Create two random single-digit integers
int number1 = (int)(Math.random()*10);
int number2 = (int)(Math.random()*10);
// If number1 < number2,swap number1 with number2
if (number1 < number2){
int temp = number1;
number1 = number2;
number2 = temp;
}
// Prompt the student to answer "What is number1 - number2"
System.out.println("What is " + number1 + " - " + number2 + " ?");
Scanner input = new Scanner(System.in);
int answer = input.nextInt();
// Grade the answer and display the result
if (number1 - number2 == answer){
System.out.println("You are correct!");
}else {
System.out.println("Your answer is wrong\n" + number1 + " - " + number2 + " should be " + (number1 - number2));
}
}
}
输出:(是wrong不是wong)
为了交换变量number1和number2,首先要使用一个临时变量temp存储number1的值。将number2的值赋值给number1,然后将temp的值赋给number2。