[英]Converting 1D array to 2D array without duplicates
我正在尝试将一维数组转换为二维数组([5] [5]),而无需使用重复字符。 我似乎无法使它保持一致,有时它可以工作,有时却不能。
输入:比利
输出:[[b,i,l,y,],[,,,,],[,,,,],[,,,,],[,,,,]]
显然缺少“ s”,但已正确删除了“ l”中的一个
输入:billysb
输出:[[b,i,l,y,s],[,,,,],[,,,,],[,,,,],[,,,,]]
再次,正确删除重复的字母。
输入:billysabc
输出:线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException: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));
所有帮助,不胜感激! 这已经好几个小时了。
如果要创建没有重复项的集合,则应使用Set Collection
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.