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

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

從 .txt 文件構(gòu)建二維數(shù)組的問題

從 .txt 文件構(gòu)建二維數(shù)組的問題

達(dá)令說 2023-07-13 15:51:05
我已經(jīng)能夠使用 .txt 文件創(chuàng)建數(shù)組。但是,現(xiàn)在在打印數(shù)組時(shí),它會(huì)重復(fù)打印最后一行,而不是之前的行。我相信我分配了正確的值并確保將它們分配給數(shù)組。我嘗試循環(huán)遍歷并為每個(gè)索引分配正確的值,然后向下遍歷每一行,直到它們?nèi)糠峙渫戤?。然而,這導(dǎo)致最終壓倒一切。private double[][] Grid;public GridMonitor(String filename) throws FileNotFoundException{    Scanner FileName = new Scanner(new BufferedReader(new FileReader(filename)));    int totalRow = 0;    while (FileName.hasNextLine())    {        String[] string = FileName.nextLine().trim().split(" ");        totalRow++;        Grid = new double[totalRow][string.length];        for(int i = 0; i < totalRow; i++)        {            for(int j = 0; j < string.length; j++)            {                Grid[i][j] = Double.parseDouble(string[j]);            }        }        System.out.println(Arrays.deepToString(Grid));    }    System.out.println(Arrays.deepToString(Grid));    FileName.close();}它應(yīng)該顯示類似于的結(jié)果[3.0][3.0], [2.0][10.0][7.0], [5.0][6.0][9.0], [4.0][5.0][8.0]但相反顯示[4.0][5.0][8.0], [4.0][5.0][8.0], [4.0][5.0][8.0], [4.0][5.0][8.0]
查看完整描述

3 回答

?
慕碼人8056858

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

您的問題是您重復(fù)將新數(shù)組分配給 Grid ,從而Grid = new double[totalRow][string.length];覆蓋舊值。



查看完整回答
反對(duì) 回復(fù) 2023-07-13
?
鳳凰求蠱

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

嵌套 for 循環(huán)存在問題,網(wǎng)格每次都由同一行填充。刪除外部循環(huán)并將行計(jì)數(shù)器初始化為 0 并在外部 while 循環(huán)內(nèi)遞增它。


int rc = 0;

while ( Filename.hasNextLine()){

// Code before Nested For loop

for(j=0;j<string.length;j++){

Grid[rc][j] = // your code

}

rc++;

}


查看完整回答
反對(duì) 回復(fù) 2023-07-13
?
回首憶惘然

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

我認(rèn)為您錯(cuò)過了數(shù)組具有像這樣的行和列:double[][] grid = new double[row][col],因此當(dāng)您逐行讀取文件時(shí),您無法在獲得最后一行之前找出行數(shù)。


public static double[][] readGridFromFile(Path file) throws FileNotFoundException {

    final Pattern space = Pattern.compile("\\s+");


    try (Scanner scan = new Scanner(new BufferedReader(new FileReader(file.toFile())))) {

        List<double[]> lines = new ArrayList<>();


        while (scan.hasNextLine()) {

            lines.add(Arrays.stream(space.split(scan.nextLine().trim()))

                            .mapToDouble(Double::parseDouble)

                            .toArray());

        }


        double[][] grid = new double[lines.size()][];

        int row = 0;


        for (double[] line : lines)

            grid[row++] = line;


        return grid;

    }

}


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

添加回答

舉報(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)