/**
*
* Beschreibung
*
* @version 1.0 vom 16.01.2023
* @author
*/publicclass binaersuche {publicstaticvoidmain(String[] args){int[] array =newint[400];int elements;int zahl;int left=0;int right = elements-1;while(left!=right){int middle =(left+right)/2;if(array [middle]< zahl ){int leftt= middle +1;}else{int rightt= middle;}// end of if-else}// end of whileif(array[left]== zahl){System.out.println("You found the number.");}else{System.out.println("You did not find the number!");}// end of if-else}// end of main}// end of class binaersuche
ich kommentiere das mal:
Java:
/**
*
* Beschreibung
*
* @version 1.0 vom 16.01.2023
* @author
*/publicclass binaersuche {publicstaticvoidmain(String[] args){int[] array =newint[400];int elements;int zahl;int left=0;// okint right = elements-1;// ist nicht initialisiertwhile(left!=right){// okint middle =(left+right)/2;// okif(array [middle]< zahl ){// okint leftt= middle +1;// left ist bereits deklariert}else{int rightt= middle;// right ist bereits deklariert}// end of if-else}// end of whileif(array[left]== zahl){// okSystem.out.println("You found the number.");}else{// okSystem.out.println("You did not find the number!");}// end of if-else}// end of main}// end of class binaersuche
Enthält also 3 Fehler ... und es empfiehlt sich, am Anfang ruhig bei deutschen Bezeichnern zu bleiben.
Du hast Variablen umbenannt ins Englische - ich hätte da keine Umbenennungen vorgenommen.
elements wird nicht initialisiert, daher wird der Code nicht funktionieren. Das ist aber nicht Bestandteil des Struktogrammes. Aber die Array-Erstellung ist da auch nicht drin - daher würde ich das schon setzen - und das wäre ja array.length, das man da initialisiewren müsste.
Da würde ich dann auch eine Leerzeile einfügen und einen Kommentar, dass ab da das Struktogramm implementiert wird.
Das Problem mit dem nicht initialisiert trifft dann auch die Variable zahl. Und das soll ja eine Methode suche sein mit zahl als Parameter! Das hast Du nicht.
In den Zuweisungen sollen die Variablen Links / Rechts neue Werte bekommen. Das wären derzeit left / right bei Dir. Du erzeugst aber neue Variablen leftt und rightt was so falsch ist.
Dann ist das gefunden / nicht gefunden nicht genau spezifiziert. Das würde ich aber als Rückgabe der Methode suche sehen. Du hast aber a) keine Methode Suche und daher auch keine Rückgabe. Statt dessen hast Du eine Ausgabe.
erstmal danke . und im code steht es nur deswegen, weil es Struktogramm steht. Und als aufgabe sollen wir das strukturgramm in einen code wandeln. Kannst du mir hier weiterhelfen?
Also den einen Teil habe ich vertsanden Dankkke. Aber beim elements teil komme ich echt nicht weiter. ich brauch das bis morgen, deswegen bin ich so angespannt
Du hattest die Variable elements ja schon in der ersten Version drin. Und da hatte ich zu geschrieben:
elements wird nicht initialisiert, daher wird der Code nicht funktionieren. Das ist aber nicht Bestandteil des Struktogrammes. Aber die Array-Erstellung ist da auch nicht drin - daher würde ich das schon setzen - und das wäre ja array.length, das man da initialisiewren müsste.
Wenn jetzt gesagt wird, dass die Variable nicht deklariert wird, dann füge sie doch einfach wieder ein. Und initialisiere sie mit der Größe des Arrays, welche du bekommst mit array.length.
Du hattest die Variable elements ja schon in der ersten Version drin. Und da hatte ich zu geschrieben:
Wenn jetzt gesagt wird, dass die Variable nicht deklariert wird, dann füge sie doch einfach wieder ein. Und initialisiere sie mit der Größe des Arrays, welche du bekommst mit array.length.