【发布时间】:2017-05-04 19:44:36
【问题描述】:
尝试设计一个简单的彩票程序。除了检查输入的数字是否在 1 到 59 之间之外,一切正常。
练习说数字必须存储在String 变量中。
所以
if(num<0 || num>59) //wont work for me
尝试制作另一个变量
int numConverted = Integer.parseInt(num)
虽然我们还没有在课堂上将String 转换为int,所以我认为这不是预期的结果。无论如何尝试这种方式都会感到困惑,所以这可能是错误的。
这是我目前的代码。
{
Scanner scan = new Scanner(System.in);
String num=""; //num variable is empty untill user inputs numbers
for(int i =0; i<6; i++)
{
System.out.println("Enter your number between 1-59");
num = num +" "+ scan.nextLine();
}
System.out.println("Ticket printed £2. Your numbers are " + num);
}
【问题讨论】:
-
String不是数值,也不能当做一个。
-
为什么不使用 Scanner 的
nextInt()方法来填充原始数组(int[] numbers = new int[5])呢? -
您需要将其转换为数字才能执行数字比较。给您使用
int变量的方法一个机会! -
...实际上您需要
nextInt()后跟nextLine才能使用EOL(行尾)字符。 -
坦率地说,
Integer.parseInt正好适合这种情况。