-1
我想在我的二维数组中找到最长的一系列水平的O,并打印出最长的路径。我没有看到我的逻辑错误,我一直在阅读,但没有看到我的错误。我一直呆在这里约2天。我在想,也许我的发现最大长度声明有什么问题?第58行和第31行出现越界错误。对于我在做错的任何建议都将非常感激。二维数组查找char元素(s)
public class game {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner kbd = new Scanner(System.in);
System.out.println("ENTER A SINGLE INTEGER: ");
int n = kbd.nextInt();
char[][] mazeValue = new char[n][n];
System.out.println("ENTER A PATH: ");
for(int i = 0; i < mazeValue.length; i++){
for(int j = 0; j< mazeValue[i].length; j++){
mazeValue[i][j]= kbd.next().charAt(0);
}
}
printMaze(mazeValue);
horizontalPath(mazeValue);
}
public static void printMaze(char mazeValue[][])
{
System.out.println("MAZE");
for(int i = 0; i < mazeValue.length; i ++)
{
for (int j = 0; j < mazeValue[i].length; j++)
{
System.out.printf("%4c",mazeValue[i][j]);
}
System.out.printf("\n");
}
}
public static void horizontalPath(char mazeValue[][])
{
int horizontalPath=0;
int maxHorizontalCount=0;
int i;
int j;
for(i= 0; i<mazeValue.length; i++){
for(j = 0; j<mazeValue[i].length; j++){
if(mazeValue[i][j]== 'o'){
horizontalPath = horizontalPath + mazeValue[i][j];
}
}
if(horizontalPath < mazeValue[i][j])
maxHorizontalCount = mazeValue[i][j];
}
System.out.printf("Longest horizontal path row %d length %d",i,maxHorizontalCount);
}
}
你在这里看到任何行号吗?请说明这些情况到底发生了什么。 – tnw 2015-02-23 21:02:11
函数调用:horizontalPath(); 31 – 2015-02-23 21:05:31
第二条if语句:if(horizontalPath
2015-02-23 21:06:10