[英]ArrayList Scanner input help Java
我正在嘗試編寫代碼,在其中對給定的數字列表進行排序,並且我正在嘗試使用ArrayList進行排序。 我正在使用while循環,以允許重復輸入。 這是我的代碼:
import java.util.Scanner;
import java.util.ArrayList;
public class sortinggg {
public static Scanner keyboard = new Scanner(System.in);
public static ArrayList<Integer> number = new ArrayList<Integer>();
public static void main (String [] args) {
int count= 0;
System.out.println("Enter your numbers.");
while (keyboard.hasNextInt()); {
number.add(keyboard.nextInt());
}
整數計數現在無關緊要,因為我僅在對列表進行排序時使用它。
問題在於,即使輸入了字符串(例如),輸入數字后,程序也不會繼續執行下一行代碼。 我在這里想念什么嗎?
附言:我厭倦了查找以前在該主題上曾經提出過的問題,但是建議的解決方案都不適合我。謝謝您的幫助!
嘗試這個:
import java.util.ArrayList;
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner keyboard = new Scanner(System.in);
ArrayList<Integer> number = new ArrayList<Integer>();
System.out.println("Enter your numbers:");
while (keyboard.hasNextInt()) {
number.add(keyboard.nextInt());
}
}
}
修改內容:
while (keyboard.hasNextInt());
最后刪除semicolon(;)
。 在這里, while loop
將繼續向arraylist
添加值,直到您提供int值為止。
首先;
剛過while
是錯誤的。 它不允許您執行身體。 然后,您將如何跳過循環。 您可以要求最終用戶輸入一些特殊值並使用它來打破循環。 更正的版本如下。
public static void main(String[] args) {
int count = 0;
System.out.println("Enter your numbers or -1 to skip.");
while (keyboard.hasNextInt()) {
int num = keyboard.nextInt();
if (num == -1) {
break;
}
number.add(num);
}
System.out.println(number);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.