簡體   English   中英

如何在用戶按下 JAVA 中的輸入之前讀取值?

[英]How to read values till user presses enter in JAVA?

我需要以以下形式輸入 - 給定“n”個盒子,每個盒子可能包含任意數量的不同整數,所以首先用戶輸入 n,然后對於從 1 到 n 的每個 i 值,我需要輸入值直到按下回車鍵。 我不知道該怎么做,例如-

5
1 2 3 4 5 6 7 8 9 
1 2
1 
4 5 6
3 4 5 6 7

我試過這個-

String str;
for(int i=0;i<n;i++)
{
    while(true)
    {
       str=scanner.next();
       if(str.isEmpty())
          break;
       int val=Integer.parseInt(str);
    }
}

也試過 str.equals("\\n") 和 str.equals(""),但沒有任何效果。 有人請幫幫我。謝謝。

嘗試這樣的事情:

int n = scanner.nextInt(); 
for(int i=0;i<n;i++)
{
    String str = scanner.nextLine();
    String[] array = str.split(" ");
}

您從用戶那里獲取一個字符串(一行數字)並按空格將其拆分,因此您將所有數字作為數組中的字符串。 然后你必須將它們解析為 int 或對它們做任何你想做的事情。

嘗試這個

String str;
for(int i=0;i<n;i++)
{
    while(true)
   {
   str=scanner.next();
   if(!str.equalsIgnoreCase(""))
      break;
   int val=Integer.parseInt(str);
   }
 }

在 Scanner 類中有 next(){只輸入到任何空白字符出現} nextLine(){ 輸入到新行字符}

嘗試使用 nextLine() 方法,然后嘗試使用 n 值存儲在任何數組中。然后您可以使用 split 或 string tokenzer 函數,然后我們從中提取整數

這對我有用

while (true) {
    String str = sc.nextLine();
    if (str.equalsIgnoreCase("")) break;                        
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM