亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一維數組 -> 二維數組

一維數組 -> 二維數組

九州編程 2021-10-28 15:35:46
所以我是初學者;任務是將給定的字符串轉換為數組,字符串總是以第一個字符作為行數,第二個字符作為列數。我的問題是解決如何將字符串 's' 的其余部分從一維數組移動到二維數組中。提前致謝!import java.util.Scanner;    public class Main {      public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        String[] s = scanner.nextLine().split(" ");        int arows = Integer.parseInt(s[0]);        int acols = Integer.parseInt(s[1]);        int[][] cells = new int[arows][acols];        for (int col = 0; col < acols; col++){          for (int row = 0; row <= arows;row++){            cells[row][col] = Integer.parseInt(s[2]);          }        }      }    }
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

您需要為 for 循環實現一個計數器以遍歷輸入字符串。你現在正在做的是用你的字符串的第三個元素填充你的二維數組。


一種解決方案是只聲明一個變量 i = 2,并為內部 for 循環的每次傳遞增加它。


int i = 2

for (int col = 0; col < acols; col++){

    for (int row = 0; row < arows;row++){

        cells[row][col] = Integer.parseInt(s[i]);

        i++;

    }

}

編輯:刪除 <= 在行循環中,將索引的初始值更改為 2


查看完整回答
反對 回復 2021-10-28
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

這就是解決方案,你必須再放一個迭代器,并把它初始化為2,這樣就跳過了s[]的前兩個元素


int i = 2;

for (int col = 0; col < acols; col++){

    for (int row = 0; row < arows;row++){

        cells[row][col] = Integer.parseInt(s[i]);

        i++;

    }

}


查看完整回答
反對 回復 2021-10-28
  • 2 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號