帮我修改下这个程序

来源:百度知道 编辑:UC知道 时间:2024/06/04 00:24:17
我把错误的return statment 标出来了。

import java.util.*;
import java.lang.*;
public class Trelawney{

static final int COLOUR_BLACK = 1;
static final int COLOUR_WHITE = 2;
static int[][] colour_table = new int[10000][10000];

public static int get_colour(int ebony, int ivory){
if (colour_table[ebony][ivory] != 0)
return colour_table[ebony][ivory];

if(ebony == 0){
if(ebony != ivory)
return COLOUR_BLACK;
}

if(ivory == 0){
if(ebony != ivory)
return COLOUR_WHITE;
}

if(ivory > ebony)
return get_colour(ebony,ebony);

if(get_colour((ebony-ivory),(ivory -1)) == get_colour(ebony,(ivory-1))){
if(ebony != ivory)
return COLOUR_WHITE;
}

if(ebony !=ivory){
return COLOUR_BLACK;

import java.util.*;
import java.lang.*;
public class Trelawney{

static final int COLOUR_BLACK = 1;
static final int COLOUR_WHITE = 2;
static int[][] colour_table = new int[10000][10000];//这里有问题,数组空间太大,改小点

public static int get_colour(int ebony, int ivory){
if (colour_table[ebony][ivory] != 0)
return colour_table[ebony][ivory];

if(ebony == 0){
if(ebony != ivory)
return COLOUR_BLACK;
}

if(ivory == 0){
if(ebony != ivory)
return COLOUR_WHITE;
}

if(ivory > ebony)
return get_colour(ebony,ebony);

if(get_colour((ebony-ivory),(ivory -1)) == get_colour(ebony,(ivory-1))){//还有这里,第一次循环ivory的值是0,0-1=-1,数组下标越界.
if(ebony != ivory)
return COLOUR_WHITE;
}

if(ebony !=ivory){
r