我创建了一个单独的类方法,该方法是一个简单的循环,允许我输入5个数字,然后将它们返回到数组中,这样我就可以在我的主中调用它们
这是方法:
public static List<Integer> getJackTicket()
{
Scanner s = new Scanner(System.in);
List<Integer> jackTickA = new ArrayList<>();
for (int i = 1 ; i <= 5; ++i)
{
System.out.print("Number " + i + "");
int value = Integer.parseInt(s.next());
jackTickA.add(value);
}
return jackTickA;
}
这就是我的称呼方式
System.out.println("Please enter your ticket numbers ");
JackpotTicket.getJackTicket();
System.out.println("Your ticket numbers are: " + JackpotTicket.getJackTicket());
它应该向我询问5个数字,然后在我输入后显示它们,但是它要求我输入数字1到5而不是再次询问我1到5,只显示最后5个。
this is what it showing when i run the program
我在这里做错了什么想法?
答案 0 :(得分:2)
您正在拨打JackpotTicket.getJackTicket();
两次。所以它会执行两次。
删除不在输出中的呼叫。
答案 1 :(得分:2)
您正在调用该方法两次,因此它当然会要求用户两次。
第一次调用它时,请存储返回的List<Integer>
,以便稍后再次参考。
System.out.println("Please enter your ticket numbers ");
List<Integer> numbers = JackpotTicket.getJackTicket();
System.out.println("Your ticket numbers are: " + numbers );
答案 2 :(得分:2)
这是因为您正在调用方法两次。
您可能希望将JackpotTicket.getJackTicket();
的结果存储在变量中:
List l = JackpotTicket.getJackTicket();
然后,你可以使用它。
记住每次Java找到JackpotTicket.getJackTicket()
时,都会执行它。
答案 3 :(得分:2)
您调用了getJackTicket()
两次而不是保存其结果并将其重新用于输出:
System.out.println("Please enter your ticket numbers ");
final List<Integer> res = JackpotTicket.getJackTicket();
System.out.println("Your ticket numbers are:");
for(final Integer i : res) {
System.out.println(i);
}
由于getJackTicket()
总是要求用户输入新内容,因此系统会询问您的用户两次,并将第一个结果用于任何内容。
此外,如果您想将结果格式化为一行,这可能很有用:
System.out.println("Please enter your ticket numbers ");
final List<Integer> res = JackpotTicket.getJackTicket();
System.out.print("Your ticket numbers are: ");
for(final Integer i : res) {
System.out.print(i + " "); // don't add \n to end line
}
答案 4 :(得分:2)
您正在调用您的方法两次,因此它会执行两次。您需要将结果存储在稍后可以输出的变量中:
List<Integer> numbers = JackpotTicket.getJackTicket();
System.out.println("Your ticket numbers are: " + numbers);
答案 5 :(得分:0)
System.out.println("Please enter your ticket numbers ");
remove this call --> JackpotTicket.getJackTicket();
System.out.println("Your ticket numbers are: " + JackpotTicket.getJackTicket());
System.out.println("Please enter your ticket numbers ");
System.out.println("Your ticket numbe`enter code here`rs are: " + JackpotTicket.getJackTicket());