溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java算法題輸入問題實例分析

發(fā)布時間:2022-02-21 09:12:05 來源:億速云 閱讀:137 作者:iii 欄目:開發(fā)技術

本篇內(nèi)容介紹了“Java算法題輸入問題實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

1.給定范圍,確定輸入幾個數(shù)據(jù)

直接使用普通的Scanner輸入數(shù)據(jù)范圍,然后使用for循環(huán)輸入后續(xù)數(shù)據(jù)。

例如:

Scanner scanner = new Scanner(System.in);
//輸入數(shù)據(jù)的范圍
int n = scanner.nextInt();
for(int i = 0;i < n;i++){
    
    arrays[i] = scanner.nextInt();
}

2.沒有給定范圍,但是給出了結(jié)束符

使用while循環(huán),當輸入結(jié)束符的時候退出循環(huán)

Scanner scanner = new Scanner(System.in);
//假設使用"0"作為結(jié)束符
//無限循環(huán),在循環(huán)中和結(jié)束符進行比較,相同則停止循環(huán)
while(true){
    String str = scanner,nextLine();
    if(str == "0"){
        break;
    }
    //沒有結(jié)束,那么對str進行處理
    
}
//判斷輸入的數(shù)據(jù)是否為"0",為"0"則停止循環(huán),不為"0"則繼續(xù)循環(huán)
while(!scanner.hasNext("0")){
    String str = scanner.nextLine();
    //對str進行處理,只要輸入不為"0",就可以一直循環(huán)下去
}

3.沒有給定范圍,直接給定多組數(shù)據(jù)(這個最需要注意)

此時不能在使用Scanner進行輸入,因為無法結(jié)束,我們需要使用(BufferedReader)字符緩沖輸入流來進行輸入。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while((str = br.readLine()) != null){
            //當讀入數(shù)據(jù)的下一行不為空時,進行循環(huán),這里對str進行處理
        }

4.Scanner中next()和nextLine()的區(qū)別

next()輸入不會包含空格以后的數(shù)據(jù),只會輸入第一個空格前的字符,nextLine()輸入可以包括空格,只有遇見分隔符(例如回車)才會結(jié)束

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

5.輸入多行數(shù)字,未知行數(shù)

沒有對一行多數(shù)字做處理,處理方法和上述但行輸入相同。

System.out.println("輸入多行數(shù)字:");
        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) {
            //只能轉(zhuǎn)換一行一個數(shù)字,多個數(shù)字需要額外同上的操作
            //int intValue = Integer.valueOf(s);
            System.out.println(s);
        }

“Java算法題輸入問題實例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI