大家好,我是网站新手,这是我在Java编程课程中的第一个问题。 我必须创建一个程序,询问一个数学问题,并告诉用户他是对还是错,但要求还说明我需要创建一个方法,如果第一个问题是正确的,则生成一个新问题,所以当计算机问什么是5次5和用户输入25该方法应生成两个新的随机数并询问用户结果。
到目前为止,这是我的代码。我不希望答案,因为这是一个学校作业,但如果有人能给出指示,我将非常感激,因为这是我的第一个java大学课程。
import java.security.SecureRandom; //program uses class SecureRandom
import java.util.Scanner; //program uses class Scanner
public class CAI
{
public static void main(String[] args)
{
System.out.println("Alex - Assignment 4\n");
//create Scanner for input from command window
Scanner input = new Scanner(System.in);
//randomNumbers object will produce secure random numbers
SecureRandom randomNumbers = new SecureRandom();
//generates two random numbers from 1 to 9 excluding 0
int random1 = 1+ randomNumbers.nextInt(9);
int random2 = 1+ randomNumbers.nextInt(9);
int answer; // declares answer from user
//calculates real result of first integer times second integer
int result = (random1 * random2);
//display generated integers
System.out.printf("What is %d times %d?\n",random1, random2);
do
{
answer = input.nextInt(); //keeps taking answer from user if wrong
if(answer == result) //if correct answer then print very good!
System.out.println("Very Good!");
else // if wrong answer then print no please try again
System.out.println("No. Please try again");
}
while (answer != result);
}
答案 0 :(得分:1)
我认为你有循环语句混合的基本方式。 do语句将执行一次代码块,并且不会自行循环。 while循环将重复,直到您告诉它停止。所以没有告诉你如何构建你的作业;)你应该看看这两件事。但是你的代码确实可以编译,并确实可以完成你想要它做的事情。所以这意味着您遇到的问题在于代码的逻辑方面。这意味着计算机在执行代码部分时根据代码结构无法理解。
所以我的建议是首先尝试用简单的英语(伪代码)编写它,这样你就可以弄清楚你的程序逻辑应该如何运行,然后将其转换为代码。有时只是说“我希望x发生在y。但我只希望这发生在事件z发生的时候。”可以帮助您理解逻辑如何工作。
祝你好运
答案 1 :(得分:0)
您可以在生成随机数之前添加while循环,这些随机数将重复到.ToUniversalTime()
。沿着这些方向的东西可以正常工作
答案 2 :(得分:0)
您应该在底部break;
循环中添加else
语句,并将public static void
声明中的所有内容放入"无限" for
循环。当用户输入错误答案时,程序将转到else
循环并中断。否则,它将继续在'无限"中继续重复。 for
循环。这是一个示例代码,显示了您可以执行的操作。
import java.security.SecureRandom; //program uses class SecureRandom
import java.util.Scanner; //program uses class Scanner
public class CAI
{
public static void main(String[] args)
{
boolean loopTest = false;
while (loopTest= true)
{
System.out.println("Alex - Assignment 4\n");
//create Scanner for input from command window
Scanner input = new Scanner(System.in);
//randomNumbers object will produce secure random numbers
SecureRandom randomNumbers = new SecureRandom();
//generates two random numbers from 1 to 9 excluding 0
int random1 = 1+ randomNumbers.nextInt(9);
int random2 = 1+ randomNumbers.nextInt(9);
int answer; // declares answer from the user
//calculates real result of first integer times second integer
int result = (random1 * random2);
//display generated integers
System.out.printf("What is %d times %d?\n",random1, random2);
do
{
answer = input.nextInt(); //keeps taking answer from user if wrong
if(answer == result) //if correct answer then print very good!
System.out.println("Very Good!");
else // if wrong answer then print no please try again
System.out.println("No. Please try again");
break;
}
while (answer != result);
}
}
}
*请注意,您的计划中未包含最后一个}
。