私はコンストラクタに入っている情報の転送に取り掛かりました。どのように正しく行うには? :)コンストラクタへの情報の転送
は、私はいくつかのドキュメントを検討しようとしましたが、また、どのように私の場合のうちからこれらの「Fさん」を置く:( 何かを見つけることがありますか?
(位置からbinarySearchまで)
あなたの問題のためpublic class BinarySearchRecursive {
public static void main(String[] args) {
System.out.print("Bitte wählen Sie die Folge von 1 bis 5 aus: ");
Scanner eingabe = new Scanner(System.in);
int folge = eingabe.nextInt();
System.out.print("Bitte geben Sie den Suchschlüssel ein: ");
Scanner eingabe1 = new Scanner(System.in);
int key = eingabe1.nextInt();
int [] f;
if (folge == 1){
f= new int[]{20};
}
if (folge==2){
f= new int []{3,4};
}
if (folge==3){
f= new int []{1,2,3,4,5,6,7,8,9,10,11};
}
if (folge==4){
f= new int []{10,20,30,40,50,60,70,80,90,100,110};
}
if (folge==5){
f= new int [] {20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40};
}
int position = binarySearch (f, key, 0, f.length -1);
}
public static int binarySearch (int [] f, int key, int intervallgrenzeLinks, int intervallgrenzeRechts){
int NO_KEY = -2;
if (intervallgrenzeLinks <= intervallgrenzeRechts){
int m = (intervallgrenzeLinks + intervallgrenzeRechts)/ 2;
if (key == f[m]) {
return m;
} else if (key < f[m]){
intervallgrenzeRechts = m-1;
}else {
intervallgrenzeLinks = m+1;
}
} else {
return NO_KEY;
}
return binarySearch (f, key, intervallgrenzeLinks, intervallgrenzeRechts);
}
}
何が問題なのですか?あなたはあなたの "if"から "f = .."を取り出すことはできません – XtremeBaumer
あなたはどんなクラスを作ろうとしていますか? – bradimus
if(folge == 1){...} if(folge == 2){...}などの代わりに、switch-statementを使うことができます: 'switch(folge){case 1:..ブレーク;ケース2:...休憩。 } 'を使用するか、マップベースのアプローチを使用します(これはおそらく現在は範囲外です)。 – Thomas