第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用后初始化數(shù)組

使用后初始化數(shù)組

MMTTMM 2021-11-17 15:09:59
所以這是我的代碼:import java.util.Arrays;import java.util.Scanner;public class Test9 {public static void main (String[] args) {    Scanner sc = new Scanner(System.in);    String invoer = null;    String[] sorteerArray = new String[25];    for (int i = 0; i < 25; i++) {        System.out.print (i + 1 );        invoer = sc.nextLine();        sorteerArray[i] = invoer;        if ("".equals(invoer)) {            break;        }    }    Arrays.sort(sorteerArray);    for (String sorteerArrayOutput : sorteerArray) {        System.out.println (sorteerArrayOutput);    }}}我得到一個(gè) NullPointerException,因?yàn)楫?dāng)我嘗試對(duì)我的數(shù)組進(jìn)行排序時(shí),數(shù)組中有空值,那是因?yàn)槲矣?25 初始化了我的數(shù)組。我知道問題是什么,我只是不知道如何解決它。提前致謝 :)。
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

你可以


截?cái)鄶?shù)組以刪除null元素


String[] sorteerArray = new String[25];

int nbValue = 0;

for (int i = 0; i < 25; i++) {

    System.out.print (i + 1 );

    invoer = sc.nextLine();

    sorteerArray[i] = invoer;

    nbValue++;

    if ("".equals(invoer)) {

        break;

    }

}

sorteerArray = Arrays.copyOf(sorteerArray, nbValue);

Arrays.sort(sorteerArray);

用一個(gè) List


List<String> sorteerList= new List<String>();

for (int i = 0; i < 25; i++) {

    System.out.print (i + 1 );

    invoer = sc.nextLine();

    sorteerList.add(invoer);

    if ("".equals(invoer)) {

        break;

    }

}

sorteerList.sort(Comparator.naturalOrder());


查看完整回答
反對(duì) 回復(fù) 2021-11-17
?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用“”初始化字符串?dāng)?shù)組。例如-


for(int i=0;i<25;i++){

    sorteerArray[i]="";

}

或者您可以使用集合即列表來擁有動(dòng)態(tài)大小的數(shù)組。


查看完整回答
反對(duì) 回復(fù) 2021-11-17
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

想想如果你輸入""第三個(gè)字符串會(huì)發(fā)生什么。


所以你的循環(huán)中斷了,數(shù)組中的一些值仍然是String的默認(rèn)值,在這種情況下是null.


這使得sort嘗試與null其他字符串進(jìn)行比較(您可以在線閱讀如何.sort工作)。


要解決此問題,您應(yīng)該在循環(huán)之前添加以下內(nèi)容:


for (int i = 0; i < sorteerArray.length; i++) {

    sorteerArray[i]="";

}

如果您使用調(diào)試器檢查代碼,您將能夠看到數(shù)組中的所有值,在 , 之后""都是null. 所以在sort運(yùn)行時(shí),它會(huì)比較數(shù)組的值,并在某個(gè)時(shí)候到達(dá)null,導(dǎo)致NullPointerException.


我上面寫的代碼將用空字符串初始化數(shù)組,以便可以比較它們。


查看完整回答
反對(duì) 回復(fù) 2021-11-17
  • 3 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)