Java < Algorithmen < Schule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:50 Mi 28.05.2014 | Autor: | Benko |
Aufgabe | Erstellen Sie eine Namensliste.Das Programm sollte die drei forlgenden Methoden enthalten:
a.,Schreiben Sie einen Methode erstelle(), die ein Array mit 5 String-Elementen erzeugt.
b.,Schreiben Sie eine zweite Methode suchen(String suchText,String[]namenArray), die nach dem eingegebenen Such-Text sucht und das zugehörige Index (bzw. Indizes) auf der Konsole ausgibt. |
Hallo, also die erste Methode bekomme ich hin, funzt auch. Nur bei der zweiten Methode bekommen ich immer eine Fehlermeldung! Wo ist mein Syntaxfehle?
Bitte hier um einleuchtende, gut verständiche Ratschläge.
VG Bensn
import java.util.Scanner;
public class [mm] A_1 [/mm] {
public static void main (String [] args){
Scanner scan= new Scanner (System.in);
String namenArray[];
namenArray=erstellen();
System.out.println("Geben sie ein Suchwort ein: ");
String suchText=scan.next();
int index= suchen (suchText,namenArray ); //Methode suchen
System.out.println(index);
}
public static String[] erstellen(){
String []namenArray={"ich","du","er","sie","es"}; //Methode erzeigt 5 String-Elemente
return namenArray;
}
public static int suchen (String suchText, String [] namenArray){
String name= namenArray[0];
for (int index=0; name!=suchText; index++){
name=namenArray[index];
if(name.equals(suchText)){
return index;
}
}
}
}
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:18 Mi 28.05.2014 | Autor: | DieAcht |
Hallo,
Der Fehler liegt daran, dass deine letzte Methode, falls
das Suchwort nicht existiert, nichts zurückgibt. Du kannst
nach der For-Schleife provisorisch zum Beispiel die Zahl
Zehn returnen. Dann kompiliert dein Programm, aber richtig
ist das weiterhin nicht.
Ich würde die Aufgabe wie folgt interpretieren:
[mm] \bullet [/mm] Der User schreibt selbst fünf Wörter.
[mm] \bullet [/mm] Der User gibt ein Wort ein und die zweite Methode
überprüft an welcher Stelle im Array das Wort existiert.
Beachte: Das Wort kann mehrmals auftauchen!
Deine Methoden kann man alle noch verbessern. An deiner
zweiten Methode musst du noch arbeiten.
Falls du mehr Tipps brauchst, dann frag nochmal nach.
Gruß
DieAcht
|
|
|
|
|
Hallo!
ich sehe da noch was anderes, was man aber noch als Schönheitsfehler betrachten kann:
Du schreibst hier ne Klasse A1, deren Methoden allesamt was mit dem String-Array machen.
Deshalb sollte das String-Array ein Member der Klasse sein, also noch vor main deklariert werden.
Denn jetzt erstellt die main() ein Array, dann erstellt das erstellen() ein Array und gibt es zurück, die main() packt das in ihr array, um es anschließend an suchen() weiter zu geben.
Wenn du das array als member einbaust, dann ist das Array grundsätzlich immer da, erstellen() füllt es nur und suchen() hat auch direkten Zugriff darauf.
|
|
|
|