一道java递归题
publicclassDiguo1{staticintwidth=3,height=3,count=0;staticchar[][]table={{'A','A','A'...
public class Diguo1 {
static int width=3,height=3,count=0;
static char[][]table={
{'A','A','A'},{'O','A','O'},{'A','A','A'}
};
public static void walkthrough(int x,int y ){
if(table[x][y]=='A'){
table[x][y]=(char)((int)'a'+count);
count++;
if(x<height-1)
walkthrough(x+1,y);
if(x>0)
walkthrough(x-1,y);
if(y<width-1)
walkthrough(x,y+1)
if(y>0)
walkthrough(x,y-1);} }}
public class Moveee extends Diguo1 {
public static void main(String[]args){
walkthrough(0,0);
for (int row=0;row<table.length;row++)
{
for(int col=0;col<table[row].length;col++)
System.out.print(table[row][col]+"\t");
System.out.println();}}}
上述程序结果会是什么?谁能给我讲讲其中递归的步骤,除了一步一步的看,能不能找到规律一下解出?谢谢
就是原来的二维数组形象成表格是A A A
O A O
A A A这个样子的;
递归完之后我想知道数组变成了什么样子,其中必然有规律可循,想知道怎么能快速的看出结果,谢谢了 展开
static int width=3,height=3,count=0;
static char[][]table={
{'A','A','A'},{'O','A','O'},{'A','A','A'}
};
public static void walkthrough(int x,int y ){
if(table[x][y]=='A'){
table[x][y]=(char)((int)'a'+count);
count++;
if(x<height-1)
walkthrough(x+1,y);
if(x>0)
walkthrough(x-1,y);
if(y<width-1)
walkthrough(x,y+1)
if(y>0)
walkthrough(x,y-1);} }}
public class Moveee extends Diguo1 {
public static void main(String[]args){
walkthrough(0,0);
for (int row=0;row<table.length;row++)
{
for(int col=0;col<table[row].length;col++)
System.out.print(table[row][col]+"\t");
System.out.println();}}}
上述程序结果会是什么?谁能给我讲讲其中递归的步骤,除了一步一步的看,能不能找到规律一下解出?谢谢
就是原来的二维数组形象成表格是A A A
O A O
A A A这个样子的;
递归完之后我想知道数组变成了什么样子,其中必然有规律可循,想知道怎么能快速的看出结果,谢谢了 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询