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

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

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 你的這個方法是沒有返回值的 而你要在輸出中引用他的結果當然會報錯了

名片印刷時字打錯了改一下用什麼工計

噴墨印表機終歸與印刷不一樣的。首先,顏料不同,印刷是油性墨,而印表機則是水性墨,所以成像肯定不同。其次,印刷機和印表機程式原理不同。所以不管怎麼調整還是有區別的。可以考慮一下買個鐳射彩色印表機,一萬上下的用著就可以。這個是最簡單的方法了。如果是在是想還是用噴墨印表機,只能給予兩條建議 一 換墨水。現...

請高手幫小弟解釋一下這個小程式

exit 0 不論程式執行到 都是直接結束程序!return 0只是返回到上次函式呼叫的地方,比函式a呼叫函式b,如果在b的某處return 0 那麼程式會返回到a!如果在main函式裡return 0的話和exit 0 效果差不多,不過在作業系統看還是有區別的,exit 0 系統認為是終止執行,r...

C中如何計算漢字的數量?幫我改一下程式

主要是因為,漢字都是兩個位元組 包括標點符號也都是兩個位元組的,所以if p 其實是錯誤的!在 裡做了修改,測試通過,如果有疑問,歡迎交流 include char inter lib 7 3 int check inter char tar return false void main 如果遇到以...