Nanotic
Lieutenant
- Registriert
- Sep. 2010
- Beiträge
- 560
Hallo liebe Communtiy,
habe folgendes Problem:
ich möchte ein Array durchsuchen lassen, welches Strings enthält, jedoch nur mit der Binären Suche!!!
Bisher sieht es wie folgt aus :
Das Problem ist: Bei dem if wird ja verglichen, jedoch ist das eher was für Zahlen. Wie bekomme ich es hin, dass das Programm mir sagt an welcher Stelle ein Wort steht?
habe folgendes Problem:
ich möchte ein Array durchsuchen lassen, welches Strings enthält, jedoch nur mit der Binären Suche!!!
Bisher sieht es wie folgt aus :
Code:
public class StringSuche
{
public static void main(String args[])
{
System.out.println("Wie viele Werte möchten Sie eingeben?");
int anzahl = Tastatur.intInput();
String [] Array = new String [anzahl+1];
for (int i = 0; i< anzahl; i++ )
{
Array[i]= Tastatur.stringInput();
} // end of for
int mitte, links = 0, rechts = (anzahl-1), index = 0;
System.out.println("Welchen Wert wollen Sie suchen?");
String wert = Tastatur.stringInput();
while (links <= rechts)
{
mitte = Math.round((links+rechts)/2);
if (Array[mitte]== wert)
{
index = mitte;
break;
} // end of if
if (Array[mitte]> wert)
{
rechts = mitte -1;
} // end of if
if (Array[mitte]< wert)
{
links = mitte+1;
} // end of if
} // end of while
if (links <= rechts )
{
System.out.println("Wort gefunden, Index: "+index);
} // end of if
else {
System.out.println("Wort existiert nicht!");
} // end of if-else
}
}
Das Problem ist: Bei dem if wird ja verglichen, jedoch ist das eher was für Zahlen. Wie bekomme ich es hin, dass das Programm mir sagt an welcher Stelle ein Wort steht?
Zuletzt bearbeitet: