java将一维数组转换为二维数组,无重复项
我正在尝试将一维数组转换为二维数组([5][5]),而不使用重复字符。我似乎无法让它保持一致,有时有效,有时无效
输入:billys
输出:[[b,i,l,y,],[,,,],[,,,,,],[,,,,,],[,,,,,,],[,,,,,,,,]]
显然缺少“s”,但已正确删除其中一个“l”
输入:billysb
输出:[[b,i,l,y,s],,,,,,[,,,,,,],[,,,,,],[,,,,,,,[,,,,,,,,,,]
再次正确删除重复的字母
输入:billysabc
输出:线程“main”java中的异常。lang.ArrayIndexOutofBounds异常:9
输入:bbbbbbb
输出:[[b,b,b,,],[,,,,],[,,,,,,,,,[,,,,,,],[,,,,,,,,]
删除部分但不是全部重复项
下面是为我进行转换的代码:
char[][] playFairGrid = new char[5][5];
//write keyword to array
char[] keywordBreakdown = keyword.toCharArray();
//write keyword to grid
for(int i =0; i<5;i++){
for(int j=0;j<5;j++){
if (count==keywordBreakdown.length-1) break;
//check for duplicates
for(int m =0; m<5;m++){
for(int l=0;l<5;l++){
if (keywordBreakdown[count]==playFairGrid[m][l]){
count++;
}
}
}
playFairGrid[i][j]=keywordBreakdown[count];
count++;
}
}
System.out.println(Arrays.deepToString(playFairGrid));
非常感谢大家的帮助!这已经是几个小时以来的痛苦了
# 1 楼答案
如果要创建没有重复项的集合,应使用Set Collection