我試圖做一個ArrayList
,需要用戶輸入多個名稱,直到插入單詞done
,但我不太確定怎麼樣。如何實現這一目標?我必須做一個循環,用戶輸入,直到「完成」輸入
2
A
回答
-2
ArrayList<String> names = new ArrayList<String>();
String userInput;
Scanner scanner = new Scanner(System.in);
while (true) {
userInput = scanner.next();
if (userInput.equals("done")) {
break;
} else {
names.add(userInput);
}
}
scanner.close();
-1
String[] inputArray = new String[0];
do{
String input=getinput();//replace with custom input code
newInputArray=new String[inputArray.length+1];
for(int i=0; i<inputArray.length; i++){
newInputArray[i]=inputArray[i];
}
newInputArray[inputArray.length]=input
intputArray=newInputArray;
}while(!input.equals("done"));
未經測試的代碼,把它與一粒鹽。
0
我可能會做它像這樣 -
public static void main(String[] args) {
System.out.println("Please enter names seperated by newline, or done to stop");
Scanner scanner = new Scanner(System.in); // Use a Scanner.
List<String> al = new ArrayList<String>(); // The list of names (String(s)).
String word; // The current line.
while (scanner.hasNextLine()) { // make sure there is a line.
word = scanner.nextLine(); // get the line.
if (word != null) { // make sure it isn't null.
word = word.trim(); // trim it.
if (word.equalsIgnoreCase("done")) { // check for done.
break; // End on "done".
}
al.add(word); // Add the line to the list.
} else {
break; // End on null.
}
}
System.out.println("The list contains - "); // Print the list.
for (String str : al) { // line
System.out.println(str); // by line.
}
}
1
ArrayList<String> list = new ArrayList<String>();
String input = null;
while (!"done".equals(input)) {
// prompt the user to enter an input
System.out.print("Enter input: ");
// open up standard input
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// read the input from the command-line; need to use try/catch with the
// readLine() method
try {
input = br.readLine();
} catch (IOException ioe) {
System.out.println("IO error trying to read input!");
System.exit(1);
}
if (!"done".equals(input) && !"".equals(input))
list.add(input);
}
System.out.println("list = " + list);
+0
雖然正確,但input.equals(「done」)或使用變量來保存break字符串通常是首選。我是否也可以建議將兩者都轉換爲大寫,以避免大小寫敏感問題? (編輯:實際上,我剛剛做了改變......) –
相關問題
- 1. JavaScript我該如何做一個循環,要求用戶輸入和循環,直到他們鍵入退出
- 2. 如何循環用戶輸入,直到輸入整數?
- 3. 直到用戶輸入完所有值後,循環纔會輸入負數。
- 4. 在同一行中輸入多個輸入,直到用戶完成python爲止
- 5. 循環直到一個特定的用戶輸入
- 6. C++做while循環與用戶輸入
- 7. Heroku。我必須輸入ProcFile?
- 8. 做,直到用戶輸入的是/否
- 9. 如何爲用戶輸入創建循環(直到用戶輸入有效的輸入)?
- 10. 如何創建一個循環,直到輸入一個哨兵?
- 11. 如何循環用戶輸入,直到達到總和?
- 12. C# - 循環輸入直到EOF
- 13. 循環直到正確的輸入
- 14. bidirectional_rnn:輸入必須是一個序列
- 15. 如何知道何時完成一個輸入cin \ n? (循環)
- 16. 我如何循環用戶輸入請求,直到用戶在Acrobat XI中輸入信息爲止
- 17. 輸入用戶輸入,直到輸入<<EOF>>
- 18. 需要輸入輸入數組,直到用戶輸入0 JAVA
- 19. 循環scanf直到用戶輸入任何內容(命中輸入兩次)使用while循環
- 20. 我想使這個程序循環,直到用戶將輸入的N爲無
- 21. 無限輸入循環,直到用戶在Perl中退出
- 22. C++循環用戶輸入,直到正確
- 23. 如何循環腳本直到用戶輸入爲空?
- 24. 在java中循環直到用戶按下輸入
- 25. 如何循環直到用戶在C中輸入N
- 26. 循環用戶輸入,直到條件滿足
- 27. C++循環 - 輸入整數,直到用戶退出
- 28. 添加循環直到用戶輸入有效的答案?
- 29. 保持循環,直到用戶輸入空白行?
- 30. 循環在獲得輸入前完成一個循環,如何解決?
你使用任何特定的編程語言?無論如何,至少會發布一些你的嘗試代碼,否則這個問題會因缺乏努力而關閉。 – nos
其java對不起忘了添加 – yoyo
您是否期望在列表中插入「完成」?你已經做了什麼代碼來激發這個問題的解決方案? – Makoto