您好,登錄后才能下訂單哦!
本篇內容介紹了“Java算法題輸入問題實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
直接使用普通的Scanner輸入數據范圍,然后使用for循環輸入后續數據。
例如:
Scanner scanner = new Scanner(System.in); //輸入數據的范圍 int n = scanner.nextInt(); for(int i = 0;i < n;i++){ arrays[i] = scanner.nextInt(); }
使用while循環,當輸入結束符的時候退出循環
Scanner scanner = new Scanner(System.in); //假設使用"0"作為結束符 //無限循環,在循環中和結束符進行比較,相同則停止循環 while(true){ String str = scanner,nextLine(); if(str == "0"){ break; } //沒有結束,那么對str進行處理 } //判斷輸入的數據是否為"0",為"0"則停止循環,不為"0"則繼續循環 while(!scanner.hasNext("0")){ String str = scanner.nextLine(); //對str進行處理,只要輸入不為"0",就可以一直循環下去 }
此時不能在使用Scanner進行輸入,因為無法結束,我們需要使用(BufferedReader)字符緩沖輸入流來進行輸入。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while((str = br.readLine()) != null){ //當讀入數據的下一行不為空時,進行循環,這里對str進行處理 }
next()輸入不會包含空格以后的數據,只會輸入第一個空格前的字符,nextLine()輸入可以包括空格,只有遇見分隔符(例如回車)才會結束
Scanner scanner = new Scanner(System.in); String str1 = scanner.next();//輸入hello world String str2 = Scanner.nextLine();//輸入hello world System.out.println(str1);//輸出hello System.out.println(str2);//輸出hello world
沒有對一行多數字做處理,處理方法和上述但行輸入相同。
System.out.println("輸入多行數字:"); List<String> list = new ArrayList<>(); String input = ""; while (true) { input = sc.nextLine(); if (!input.equals("q")) { list.add(input); }else { break; } } for (String s : list) { //只能轉換一行一個數字,多個數字需要額外同上的操作 //int intValue = Integer.valueOf(s); System.out.println(s); }
“Java算法題輸入問題實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。