java程式報錯了誰幫改一下再說一下我這樣怎麼錯了

2021-06-17 21:25:56 字數 1331 閱讀 5687

1樓:匿名使用者

方法本身沒有返回值,是void型別的。

system.out.println(chazhao( a,low, (mid+1), key));

你這個是要讓他輸出什麼?沒有返回值怎麼輸出?

從程式和命名看,你要做的是折半查詢吧?

從方法看,是要用遞迴來做,不過邏輯上有點小問題~low=1 不應該這麼寫,小值是傳進來的,不是直接付的。

high=a.length; 這個也同上。

網上隨便找了一個折半查詢的例子,你可以看看,我自己懶得寫了。。。

最好加註釋方便別人看懂。

2樓:匿名使用者

把system.out.println以上的** 單獨提取方法,然後加上返回型別 和return值 然後system.

out.println裡面寫剛才方法就行了。 方法命名儘量不要用拼音哦.

3樓:抓根寶寶

你的程式本身就是錯的 無返回值 查詢方法接受4個引數太多不合理 角標定義應從0起 不然你的即使能編譯也有問題 我給你改了一下 你看看

public class zheban ;

system.out.println("第"+chazhao(a,19)+"個數");

} static int chazhao(int a,int key)

else if (key > a[mid])low = mid + 1;

else if (key < a[mid])high = mid - 1;

} return -1; } }

4樓:小馬過河

首先,陣列下界是從0開始的;

其次,你的遞迴呼叫有問題,你每次呼叫時都把low、跟high分別初始為1和length,這樣還怎麼遞迴啊,永遠沒完沒了,死迴圈.....

public class zheban ;

chazhao(a,0,a.length-1,19);

}public static void chazhao(int a, int low,int high,int key)

}我改的,你試試看行不行,呵呵......

5樓:匿名使用者

println只能接收一個引數

6樓:匿名使用者

看不懂你寫的什麼意思,chazhao返回值為void,能輸出?

7樓:

chazhao 你的這個方法是沒有返回值的 而你要在輸出中引用他的結果當然會報錯了

幫忙改一下C 小程式有錯不知道在哪謝謝啦

class rectangle1 private double width 1 double height 1 string color white 類成員宣告的時候除了靜態變數,其他不能進行初始化 同時類rectangle在使用前要宣告,所以要放在main前面 有沒有大神可以幫忙改一下我編的c 的...

C語言和C 的高手幫個忙吧,寫一下這個程式的註釋,我看不懂考試要考謝謝拉

村野窮儒 include include typedef struct node 定義結構體 stu stu create stu a,int num 定義create函式返回型別 為指向構體的指標 return a int liulan stu a printf n return i stu in...

誰幫我解釋一下C語言程式!看好久也看不懂

這個程式是計算以下式子 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 19 1 20.1 n 1 n m 1 這裡的m n與程式裡的沒 關係啊,只是為了說明演算法 1 n m 第單數行都是加法,第雙數行都是減法。每...