java - 帮助小学生学习乘法的写作程序
问题描述
编写一个程序,帮助小学生学习乘法。使用 SecureRandom 对象生成两个正的一位整数(您需要查看如何执行此操作)。然后程序应该提示用户一个问题,例如
6乘以7等于多少?然后学生输入答案。接下来,程序检查学生的答案。如果正确,则显示消息“非常好!” 并问另一个乘法问题。如果答案错误,显示消息“No. Please try again.>again.”。并让学生反复尝试相同的问题,直到学生最终答对为止。
应该使用单独的方法来生成每个新问题。此方法应在应用程序开始执行时以及每次用户正确回答问题时调用一次。
我的问题是你必须做一个 if else 语句 == my public static mathQuestion 然后让它输出吗?制作 SecureRandom 后,我不知道该怎么做。我还是 Java 新手。
在多次错过这个问题后,我尝试过做一个 if-else 语句,但它已经在一个方法中完成了。
import java.security.SecureRandom;
import java.util.;
public class h_p1 {
static SecureRandom rand = new SecureRandom();
static Scanner sc = new Scanner (System.in);
public static int mathQuestion() {
int n1 = rand.nextint(9) + 1;
int n2 = rand.nextint(9) + 1;
System.out.print("What is" + n1 + "x" + n2"?");
return r1 * r2;
}
}
}
解决方案
public class Quiz {
public static void main(String[] args) {
generateRandomNumbers();
}
public static void generateRandomNumbers() {
SecureRandom rand = new SecureRandom();
Scanner sc = new Scanner (System.in);
int n1 = rand.nextInt(9) + 1;
int n2 = rand.nextInt(9) + 1;
generateQuestion(n1,n2);
}
public static void generateQuestion(int n1, int n2) {
Scanner sc = new Scanner (System.in);
System.out.print("What is " + n1 + " x " + n2+ " ?");
int typedAnswer = sc.nextInt();
if(typedAnswer == (n1*n2)) {
System.out.println("Correct Answer");
generateRandomNumbers();
}else {
System.out.println("Wrong Answer");
generateQuestion(n1,n2);
}
}
}
推荐阅读
- java - 必需的字符串参数不存在?
- amazon-web-services - AWS Fargate 集群 - 容器内运行的 java 进程可以消耗多少任务内存?
- javascript - 是否可以将自定义属性添加到 Openlayers VectorLayer,然后在选择功能时访问它?
- android - Hilt 创建一个在 Activity 和它们的 Fragment 之间共享的视图模型实例
- c++ - 我收到此错误“在 0x7BE7B103 (msvcp140d.dll) 处引发异常:运行我的代码时
- javascript - 我在反应中遇到了一个 npm 命令错误。“找不到主模块中的错误:错误:无法解决......”
- html - 从 html 视图渲染 pdf 文件以将其作为图像预览显示在网页上
- c# - Newtonsoft 忽略序列化的属性
- opengl - OPENGL 从地形对象获取高度
- angular - “预计在 'ProxyZone' 中运行,但没有找到。” 开玩笑的