你好,我的任务是编写一个程序,在 1 到 5 之间选择一个随机数,并要求用户猜测该数字。然后,我必须显示一条消息,指示随机数和用户猜测之间的差异。然后,我必须显示另一条消息,该消息显示随机数和布尔值 true 或 false,具体取决于用户的猜测是否等于随机数。我已经完成了作业的第一部分,用户猜测一个数字,计算机生成一个介于 1 和 5 之间的随机数,但我不知道如何让它显示它们有多近或多远,或者如何使用布尔值来显示猜测是否等于数字。到目前为止,我已经留下了我所拥有的代码。感谢您的帮助,如果这篇文章有任何问题,我们深表歉意。
package randomguessmatch;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class RandomGuessMatch
{
public static void main(String[] args)
{
int random = 1 + (int)(Math.random() * 5);
Scanner input = new Scanner(System.in);
JOptionPane.showInputDialog(null,"Enter a number between 1 and 5: ");
JOptionPane.showMessageDialog(null,"The number is: " + random);
}
}
我需要第一条消息读到"你差了3个数字">,第二条消息需要读"你猜对了数字3"或"你没有猜对数字3"。
将输入数字的绝对值减去随机数。
像这样:
package randomguessmatch;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class RandomGuessMatch
{
public static void main(String[] args)
{
int random = 1 + (int)(Math.random() * 5);
Scanner input = new Scanner(System.in);
JOptionPane.showInputDialog(null,"Enter a number between 1 and 5: ");
JOptionPane.showMessageDialog(null, "You were " + Math.abs(random - parseInt(input)) + " away");
JOptionPane.showMessageDialog(null,"The number is: " + random);
}
}
基于 Zachary McGee 的回答:
public static void main(String[] args)
{
int random = 1 + (int)(Math.random() * 5);
String input = JOptionPane.showInputDialog(null,"Enter a number between 1 and 5: ");
if(Integer.parseInt(input) == random)
JOptionPane.showMessageDialog(null, "You guessed correctly!");
else
JOptionPane.showMessageDialog(null, "You were " + Math.abs(random - Integer.parseInt(input)) + " away");
JOptionPane.showMessageDialog(null,"The number is: " + random);
}
如果您对代码有任何疑问,请随时提出:)