1、调用System.currentTimeMillis()
方法
调用System.currentTimeMillis()
方法可以获取1970年1月1日午夜到现在的毫秒数(例如:1203183086328毫秒),我们可以通过取余的方式得到其最后一位的整数:
int number1 = (int)(System.currentTimeMillis() % 10);
案例:通过程序产生随机数让一年级学生练习加法。程序随机产生两个一位整数,number1和number2,然后显示“What is 1 + 7?”
package program3_1;
import java.util.Scanner;
public class AdditionQuiz {
public static void main(String[] args) {
int number1 = (int)(System.currentTimeMillis() % 10);
int number2 = (int)(System.currentTimeMillis() / 7 % 10);
Scanner input = new Scanner(System.in);
System.out.print("What is " + number1 + " + " + number2 + " ?");
int answer = input.nextInt();
System.out.println(number1 + " + " + number2 + " = " + answer + " is " + (number1 + number2 == answer));
}
}
2、使用Math.random()
方法
使用Math.random()
来获得一个0.0到1.0之间的随机 double 值,不包括1.0。通过(int)(Math.random() * 10)
会返回一个随机的一位整数(即 0 到 9 之间的数)。
int number1 = (int)(Math.random() * 10);
案例:一个让一年级学生练习减法的程序,程序随机产生两个一位整数 number1 和 number2,且满足 number>=number2。显示问题:“What is 9 - 2 ?”学生输入答案后,显示消息判断是否正确。
package program3_3;
import java.util.Scanner;
public class SubtractionQuiz {
public static void main(String[] args) {
int number1 = (int)(Math.random() * 10);
int number2 = (int)(Math.random() * 10);
if(number1 < number2) {
int temp = number1;
number1 = number2;
number2 = temp;
}
System.out.println("What is " + number1 + " - " + number2 + " ?");
Scanner input = new Scanner(System.in);
int answer = input.nextInt();
if(number1 - number2 == answer) {
System.out.println("You are correct!");
}
else {
System.out.println("You are wrong!");
System.out.println(number1 + " - " + number2 + " should be " + (number1 - number2) + "!");
}
}
}
感谢大家的支持,我是白鹿,一个不懈奋斗的程序猿。希望本贴能帮助到大家,大家如果还有什么问题、建议或者补充可以留言在帖子下方,给予更多人帮助,同时我看到了也会及时回复,让我们一起努力!更多一手资讯请大家关注本人微信公众号:WDeerCode代码圈!