我是java的初学者.我一直在研究一个迷宫问题,尝试通过递归来解决它.我编写的代码似乎适用于少数输入而不是其他输入.输入是由0和1组成的迷宫.#是开始,@是exit.0是墙,1是打开的.输出将是从#到@的跃点.虽然我通过递归来解决问题,但我必须对逻辑出错.请让我知道我错在哪里.
班级实践词
import java.util.Scanner;
class practisenumwords {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int r=in.nextInt();
int c=in.nextInt();
maze maz=new maze(r,c); /*input in string copied to array*/
char[] ch;
ch = "00000000111111101111011001101@#11100".toCharArray();
int l=0;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++) /*initialising the maze elements*/
{
maz.m[i][j]=new cells();
maz.m[i][j].c=ch[l];
maz.m[i][j].row=i;
maz.m[i][j].col=j;
l++;
}
}
for(int i=0;i<r;i++) /*print the input maze */
{
for(int j=0;j<c;j++)
{
System.out.print(""+maz.m[i][j].c);
}
System.out.println();
}
maz.escape();
maz.find(maz.startx,maz.starty,maz.hops);
}
}
Run Code Online (Sandbox Code Playgroud)
类细胞
class cells {
char c;
int row; …Run Code Online (Sandbox Code Playgroud)