public class control {
public static void main(String[] args) throws java.io.IOException {
int num[] = {1,2,3,4,5,6,7,8,9};
char choice;
System.out.println("Enter your number in the array: ");
choice = (char) System.in.read();
for(int x: num) {
if(x==choice)
{
System.out.println("Found");
break;
}
else
System.out.println("Not found");
}
}
}
0
A
回答
2
這不是如何獲得用戶輸入。而是使用掃描儀對象。
例如,
Scanner scanner = new Scanner(System.in);
char c = scanner.nextLine().charAt(0);
// or
int i = scanner.nextInt();
4
if(x==choice)
用的選擇,其中選擇是字符進行比較X。從輸入 閱讀INT這樣的:
Scanner in = new Scanner(System.in);
int choice = in.nextInt();
1
您需要附加Scanner
正確接收來自用戶的輸入。另外,最好的做法是比較類型(int
到int
,double
到double
等),所以如果別人查看代碼,他們可以更清楚地理解正在發生的事情。
import java.util.Scanner;
public class control {
public static void main(String[] args) throws java.io.IOException {
Scanner input = new Scanner(System.in); // <-- add this line
int num[] = {1,2,3,4,5,6,7,8,9};
int choice = input.nextInt(); //<-- this is the code you should use instead
for(int x: num){
if(x==choice)
{
System.out.println("Found");
break;
}
else
System.out.println("Not found");
}
}
}
此外,你的代碼是當前設置打印出「未找到」每次經過每個索引時choice != num[x]
時間。我不確定這是否是預期的操作,所以我將單獨留下該代碼(我相信另一個答案會在他們的答案中解決該問題)。
2
之前沒有人提到這一點,但這樣的:
for(int x: num) {
if(x==choice)
{
System.out.println("Found");
break;
}
else
System.out.println("Not found");
}
看suspicoius,因爲即使元素數組中,在將打印Not found
幾次,可以考慮改爲:
boolean found = false;
for(int x: num) {
if(x==choice)
{
System.out.println("Found");
found = true;
break;
}
}
if(!found) {
System.out.println("Not found");
}
相關問題
- 1. 我想使這個程序循環,直到用戶將輸入的N爲無
- 2. 爲什麼數組元素未在增強for循環中初始化?
- 3. 獲取用戶輸入的程序循環仍然運行
- 4. 爲什麼這個for循環在接收輸入後無限地運行? (Java)
- 5. 爲什麼for循環輸出這個?
- 6. 爲什麼這個for循環進入無限循環執行?
- 7. 爲什麼For循環在我的程序中不起作用?
- 8. 使用for循環從多個輸入中獲取總和?
- 9. 如何使用For循環在Java中獲取用戶輸入?
- 10. 爲什麼這個for循環凍結我的程序? (C#)
- 11. 爲什麼我不能使用循環過濾()出元素?
- 12. 爲什麼matlab不能並行運行我的簡單嵌套for循環?
- 13. For循環並獲取元素?
- 14. Android:從JSONArray獲取元素而不使用標準for循環
- 15. 元素的最小數目Java中的增強型for循環
- 16. 爲什麼我的for循環不能正確增加strokeColor
- 17. 從數組中獲取隨機元素,顯示它並循環 - 但從未使用過相同的元素
- 18. 爲什麼我不能在for循環中使用x + 1?
- 19. 爲什麼我不能在for循環中使用Int64?
- 20. Javascript:爲什麼使用for循環而不是數組的for-in循環?
- 21. 爲什麼我不能在javascript中插入相同的元素到數組中?
- 22. 嘗試使用for循環讀取數組中的元素
- 23. 爲什麼不能在本地使用heroku運行我的rails應用程序?
- 24. 爲什麼我的循環只能看到第一個數組元素的值?
- 25. 爲什麼這個for循環不能遍歷數組中的所有列表
- 26. 使用for循環遞歸地將數組中的元素相乘
- 27. 使用for循環從列表中獲取元素
- 28. 爲什麼我的For循環在用戶輸入特定數量後繼續?
- 29. 增強for循環
- 30. 爲什麼增強for循環未執行空值檢查
你正在比較'char'和'int'! – devnull
我想也許是因爲你比較char值到一個int, – DevZer0
雖然比較'char'和'int'字符在[Unicode表格](http://unicode-table.com/en/)中返回它的位置,所以char' '1'等於'49'整數。 – Pshemo