2017-10-18 28 views
-2

如果滿足一些條件並將其分配給arrayList,那麼從掃描器獲取整數的正確語法是什麼?它應該循環並獲取輸入,直到我們插入「-1」。 它停止,然後我插入「q」,但我需要它與某些整數。具有整數驗證的Java掃描器

   Scanner sc = new Scanner(System.in); 
       while (-99 !== sc.nextLine() && sc.hasNextInt()) 
       { 
       //do something Whi 
       } 
+3

掃描器對象怎麼能等於負的'int'? –

+0

從掃描儀輸入應該是 –

+0

然後請告訴我如何正確地做 –

回答

0

這將循環直到遇到-1,並將元素添加到數組列表。 讓我知道你是否需要這方面的幫助。

List<Integer> list = new ArrayList<>(); 
Scanner scanner = new Scanner(System.in); 

// keep looping until -1 is encountered 
while (true) { 
     int temp = scanner.nextInt(); 
     if (temp == -1) { 
      break; 
     } 
     list.add(temp); 
} 

// Printing the array list 
System.out.println(list); 

// closing the scanner is important 
scanner.close(); 
0

我不知道你的要求是什麼,但怎麼樣

Scanner sc = new Scanner(System.in); 
while (true) 
{ 
    int numEntered = sc.nextInt(); 
    if (numEntered == -1) { 
     break; 
    } 
    // do something 
} 
+0

非常感謝!我明白我做錯了什麼!這對我有用! –

0

你可能想這樣做:

Scanner sc = new Scanner(System.in); 
int num; 
do{ 
    while (!sc.hasNextInt()){ 
     sc.next(); 
    } 
    num = sc.nextInt(); 
}while(num!=-1) 

希望這有助於!

-1

sc如果引用Scanner類的對象並且不與int對象進行比較。你必須在你的while循環中檢查下一個int的值