[英]Random Number Generator in Java
我正在编写一个程序,它将像魔术8球一样工作。 它会问一个问题,然后从我输入的问题中打印出20条。 它在编码中没有显示任何错误,但是当我运行它时,该程序可以正常运行,直到需要打印随机响应为止。 这是一项家庭作业,所以我不是在找人去纠正它,而是在试图弄清楚如何使它起作用。 谢谢,我感谢您的帮助。
import java.util.Scanner;
public class MagicBall
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Please type in a question: ");
double question = input.nextDouble();
int number = (int)(Math.random() * 20);
if (number == 0)
System.out.println("As I see it, yes");
if (number == 1)
System.out.println("It is certain");
if (number == 2)
System.out.println("It is decidedly so");
if (number == 3)
System.out.println("Most likely");
if (number == 4)
System.out.println("Outlook good");
if (number == 5)
System.out.println("Signs point to yes");
if (number == 6)
System.out.println("Without a doubt");
if (number == 7)
System.out.println("Yes");
if (number == 8)
System.out.println("Yes – definitely");
if (number == 9)
System.out.println("You may rely on it");
if (number == 10)
System.out.println("Reply hazy, try again");
if(number == 11)
System.out.println("Ask again later");
if (number == 12)
System.out.println("Better not tell you now");
if (number == 13)
System.out.println("Cannot predict now");
if (number == 14)
System.out.println("Concentrate and ask again");
if (number == 15)
System.out.println("Don't count on it");
if (number == 16)
System.out.println("My reply is no");
if (number == 17)
System.out.println("My sources say no");
if (number == 18)
System.out.println("Outlook not so good");
if (number == 19)
System.out.println("Very doubtful");
}
}
double question = input.nextDouble();
是什么让您认为问题将是一个浮点数?
Apache Commons非常有用:
RandomUtils.nextInt(maxVal);
您的代码对我有用,但是它迫使您输入一个双精度字符(例如123.456)。 您应该更改:
double question = input.nextDouble();
至:
String question = input.nextLine();
另外,您可能要使用switch语句而不是所有这些ifs。
而不是int number = (int)(Math.random() * 20);
替换为int number = new Random().nextInt(20);
参见http://download.oracle.com/javase/1.4.2/docs/api/java/util/Random.html#nextInt(int)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.