程序清单3-3题目:
要点提示:你可以使用 Math . random() 来获得一个0.0到1.0之间的随机 double 值,不包括1.0。
设你想开发一个让一年级学生练习减法的程序。程序随机产生两个一位整数:number1和number2,且满足number1>=number2。程序向学生显示问题,例如,“ What is
9-2?”。当学生输人答案之后,程序会显示一个消息表明该答案是否正确。
前面的程序使用 Systems .currentTimeM11is()产生两个随机数。更好的方法是使用 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)检查学生的答案并且显示该答案是否正确。完整的程序如程序清单3-3所示。
程序清单3-3参考代码:
package Chapter3;
import java .util.Scanner;
public class Test10 {
public static void main(String[] args) {
//1. Generate two random single - digit integers int number1=( int )( Math .random0*10);
int number1 = (int) (Math.random() * 10);
int number2 = (int) (Math.random() * 10);
//2.Ifnumber1<number2, Swap numberl with number2
if (number1 < number2) {
int temp = number1;
number1 = number2;
number2 = temp;
}
//3, Prompt the student to answer " What is number1-number2?"
System.out.print
(" What is " + number1 + "-" + number2 + "?");
Scanner input = new Scanner(System.in);
int answer = input.nextInt();
//4.Grade the answer and display the result if (number1-number2 s answer )
if(number1-number2==answer)
System.out.println(" You are correct !");
else{
System.out.println(" Your answer is wrong .");
System.out.println(number1 + "-" + number2 +
" should be " + (number1 - number2));
}
}
}
本题3.10的参考代码如下:
package Chapter3;
import java.util.Scanner;
public class Code10 {
public static void main(String[] args) {
System.out.println("Please Enter A Number:");
Scanner input = new Scanner(System.in);
//1.产生两个0~100的随机数number1和number2
int number1 = (int) (Math.random() * 100);
int number2 = (int) (Math.random() * 100);
//2.提示学生回答number1+number2=?
System.out.print
(" What is " + number1 + "+" + number2 + "?");
int answer = input.nextInt();
//3.对答案进行评分并显示结果
if(number1+number2==answer)
System.out.println(" You are correct !");
else{
System.out.println(" Your answer is wrong .");
System.out.println(number1 + "+" + number2 +
" should be " + (number1 + number2));
}
}
}
运行显示:
Please Enter A Number:
What is 69+58?152
Your answer is wrong.
69+58 should be 127
进程已结束,退出代码0
Please Enter A Number:
What is 42+69?111
You are correct !
进程已结束,退出代码0