欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java在算法題中的輸入問題實例詳解

 更新時間:2022年02月20日 07:48:25   作者:foldn  
在校招筆試中,有的時候我們要自己設(shè)計輸入輸出,所以下面這篇文章主要給大家介紹了關(guān)于Java在算法題中的輸入問題,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言

在寫算法題的時候,經(jīng)常因為數(shù)據(jù)的輸入問題而導(dǎo)致卡殼,其中最常見的就是數(shù)據(jù)輸入無法結(jié)束。

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),當(dāng)輸入結(jié)束符的時候退出循環(huán)

Scanner scanner = new Scanner(System.in);
//假設(shè)使用"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){
            //當(dāng)讀入數(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);
        }

總結(jié)

到此這篇關(guān)于Java在算法題中的輸入問題的文章就介紹到這了,更多相關(guān)Java算法題輸入問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis讀取和存儲json類型數(shù)據(jù)的實現(xiàn)

    Mybatis讀取和存儲json類型數(shù)據(jù)的實現(xiàn)

    本文主要介紹了Mybatis讀取和存儲json類型數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • java中final關(guān)鍵字使用示例詳解

    java中final關(guān)鍵字使用示例詳解

    Java中的final關(guān)鍵字非常重要,它可以應(yīng)用于類、方法以及變量。這篇文章中帶你看看什么是final關(guān)鍵字?將變量,方法和類聲明為final代表了什么?使用final的好處是什么?最后也有一些使用final關(guān)鍵字的實例
    2014-01-01
  • Java中ArrayList的removeAll方法詳解

    Java中ArrayList的removeAll方法詳解

    這篇文章主要給大家介紹了關(guān)于Java中ArrayList的removeAll方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來看看吧。
    2017-07-07
  • SpringBoot全局異常與數(shù)據(jù)校驗的方法

    SpringBoot全局異常與數(shù)據(jù)校驗的方法

    這篇文章主要介紹了SpringBoot全局異常與數(shù)據(jù)校驗的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 使用Java實現(xiàn)大小寫轉(zhuǎn)換實例代碼

    使用Java實現(xiàn)大小寫轉(zhuǎn)換實例代碼

    最近在開發(fā)項目中遇到一個比較好用的方法,那就是對字符串中的字母大小進行轉(zhuǎn)換,所以下面這篇文章主要給大家介紹了關(guān)于如何使用Java實現(xiàn)大小寫轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • 利用反射獲取Java類中的靜態(tài)變量名及變量值的簡單實例

    利用反射獲取Java類中的靜態(tài)變量名及變量值的簡單實例

    下面小編就為大家?guī)硪黄梅瓷浍@取Java類中的靜態(tài)變量名及變量值的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 區(qū)分Java中的ArrayList和LinkedList

    區(qū)分Java中的ArrayList和LinkedList

    這篇文章主要介紹了如何區(qū)分Java中ArrayList和LinkedList,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Java中高效的判斷數(shù)組中某個元素是否存在詳解

    Java中高效的判斷數(shù)組中某個元素是否存在詳解

    相信大家在操作Java的時候,經(jīng)常會要檢查一個數(shù)組(無序)是否包含一個特定的值?這是一個在Java中經(jīng)常用到的并且非常有用的操作。同時,這個問題在Stack Overflow中也是一個非常熱門的問題。本文將分析幾種常見用法及其時間成本,有需要的朋友們可以參考借鑒。
    2016-11-11
  • Java elasticsearch安裝以及部署教程

    Java elasticsearch安裝以及部署教程

    這篇文章主要介紹了elasticsearch安裝以及部署教程,內(nèi)涵詳細的圖文展示與案例介紹,能夠幫助你從0成功部署這個框架,需要的朋友可以參考下
    2021-06-06
  • ReentrantLock從源碼解析Java多線程同步學(xué)習(xí)

    ReentrantLock從源碼解析Java多線程同步學(xué)習(xí)

    這篇文章主要為大家介紹了ReentrantLock從源碼解析Java多線程同步學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論