我想用5個字填充2D字符數組。每個字符串必須分成單個字符並填充數組的一行。將字符串轉換爲二維數組上的字符(java)
String str = "hello";
char[][] words = new char[10][5];
words[][] = str.toCharArray();
我的錯誤是在3號線,我不知道如何將字符串「hello」分割成字符,並填寫只有2維數組
我想用5個字填充2D字符數組。每個字符串必須分成單個字符並填充數組的一行。將字符串轉換爲二維數組上的字符(java)
String str = "hello";
char[][] words = new char[10][5];
words[][] = str.toCharArray();
我的錯誤是在3號線,我不知道如何將字符串「hello」分割成字符,並填寫只有2維數組
的第1行如果要在陣列填補了第一排,只是它ASIGN第一行:
words[0] = str.toCharArray();
因爲這將創建數組中一個新的數組,你應該的words
的實例改成這樣:
char[][] words = new char[5][];
Java有一個String
類。利用它。
很少有人知道你想要什麼。但它也有我推薦的List
類。對於這種情況,我建議執行ArrayList
。
現在解決手頭上的問題,現在該代碼將如何顯示?
List<String> words = new ArrayList<>();
words.add("hello");
words.add("hello2");
words.add("hello3");
words.add("hello4");
words.add("hello5");
for (String s : words) {
System.out.println(s);
}
對於你的情況,如果你堅持使用數組。
String str="hello";
char[][] words = new char[5][];
words[][] = str.toCharArray();
使用的東西沿着
String str = "hello";
char[][] words = new char[5][];
words[0] = str.toCharArray();
for (int i = 0; i < 5; i++) {
System.out.println(words[i]);
}
然而行了,何必再發明輪子?然而,有些情況下,這裏的主題可以閱讀更多。
請[MCVE](http://stackoverflow.com/help/mcve)。 – 2014-12-07 17:05:32
你有錯誤嗎?如果是這樣,編譯器報告的確切錯誤是什麼? JFC! – 2014-12-07 17:06:56
@Mitsos昏暗什麼是字符串?它是std :: string嗎? – 2014-12-07 17:10:21