Problem mit Methode(Array,Boolean,ForSchleife)

Khaotix

Mitglied
Hallo zusammen :)

Ich sollte für eine Aufgabe eine Methode erstellen, die mir, falls das übergebene Feld dasselbe Wort wie das vorherige Feld beinhaltet, true ausgeben soll.
Falls es nicht diesselben Worte sind, soll es mir false ausgeben.

Java:
public static boolean enthaeltPaar2(String[] woerter){
  boolean enthaeltPaar = true || false ;

  for(int i = 0; ((i < woerter.length - 2) && (woerter[i] != woerter[i + 1])); i++){

  enthaeltPaar =  woerter[i] == woerter[i + 1];

  }

  return enthaeltPaar;

}

Wenn ich jetzt die Methode per System.out.println() auswerte, komme ich immer auf false, außer die ersten beiden Wörter des Arrays sind die gleichen. Wäre hilfreich, wenn mir einer sagen könnte warum bzw. wo hier mein Fehler liegt.

Noch etwas zur Aufgabe :
Die Struktur muss bleiben.(for Schleife, Boolean, boolean variable oben und return Anw.)

Ich bedanke mich bereits im Vorraus für die Hilfe :).
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Also mehrere Dinge:
a) boolean enthaeltPaar = true || false ; macht wenig sind. Was willst Du ausdrücken? Das enthaeltPaar wahr oder falsch sein kann? Genau das ist durch den Typ boolean ja schon ausgesagt.
b) Was willst Du genau vergleichen? woerter == woerter[i+1] macht keinerlei Sinn.
b.1) Wenn Du Strings vergleichen willst, so hat dies mit equals zu erfolgen. Ansonsten vergleichst Du nur die Referenz
b.2) Du gehst ja mit einer Schleife durch die Elemente - aber das ganze Array kannst Du nicht vergleichen. Ein Array wird immer ein Array sein und kein einzelnes Element. Da fehlt also noch etwas. Welches Element willst Du da mit dem i+1ten Element vergleichen?
c) In Deiner Schleife setzt Du in jedem Durchlauf enthaeltPaar. Damit überschreibt jeder Lauf das vorherige Ergebnis und am Ende hast Du nur noch das letzte Ergebnis. Das ist doch nicht das, was Du willst. Wenn Du ein Paar gefunden hast: Was soll / kann dann geschehen?
 
K

kneitzel

Gast
Ach so - Punkt C kannst Du vergessen. Hab beim Schreiben dann vergessen, dass die Schleife ja den Erfolg mit überprüft. Daher wird bei einem gefundenen Paar ja die Schleife verlassen.
 

Khaotix

Mitglied
Java:
public static boolean enthaeltPaar2(String[] woerter){
  boolean enthaeltPaar = true  ;
  for(int i = 0;i < woerter.length - 2 && woerter[i] != woerter[i + 1] ; i= i + 1){
  int folgendesWort = i + 2;
  enthaeltPaar = woerter[i+1].equals(woerter[folgendesWort]);
  }
  return enthaeltPaar;}


Also so hat es bei mir jetzt funktioniert... ich verstehe aber ehrlich gesagt nicht warum.

Könnte mir einer erklären, warum ich immer wieder bei der vorherigen Methode nicht die aufeinanderfolgenden gleichen Wörter verglichen habe, sondern eine Stelle zu weit vorne?[/I]
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Also das war ein Zufall. Es gibt mehrere Fälle, die zu bedenken sind und die bei Dir zu Problemen führen können.

a) Schauen wir einmal, was für Felder Du bearbeitest: Angenommen woerter ist ein String[5]
=> woerter.length = 5
=> Array geht von woerter[0] - woerter[4]
In Deiner Schleife hast Du dann folgende Grenzwerte:
=> i=0 am Anfang
=> i=woerter.length-2-1 = 2
Bei i=0 vergleichst Du woerter[1] mit woerter[2] => woerter[0] wird nicht verwendet!
bei i=2 erwischt Du derzeit auch das letzte Paar: woerter[3] wird mit woerter[4] verglichen.

b) Was soll zurück gegeben werden, wenn kein Vergleich durchgeführt wird? Ich übergebe also ein leeres Array oder ein Array mit einem Wert. Da wird dann bei Dir true zurück gegeben. Das ist in meinen Augen falsch.

c) In der Schleife selbst vergleichst Du Strings noch mit != - da solltest Du auch equals verwenden (und die Rückgabe negieren mit !)
 
K

kneitzel

Gast
Bitte setze Deinen Code immer in code Tags! Daher hatte ich in Deinem Code die
Code:
  [i]
nicht gesehen, denn die hat der Editor als Start eines kursiven textes interpretiert. Also bitte
[ code] und [ /code] verwenden (Ohne das Leerzeichen nach der "[").

Und Dein Vergleich mit dem i statt i+2 war schon richtig, nur eben sollte es nicht mit == sondern mit equals verglichen werden. Also wieder mit i und i+1 vergleichen und die Grenze auf < length-1 bzw. <= length-2 setzen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
P Problem mit Array in Methode Java Basics - Anfänger-Themen 4
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
E Problem mit static Methode Java Basics - Anfänger-Themen 4
N Methoden printf Methode Problem Java Basics - Anfänger-Themen 2
V Problem Aufruf einer Methode in einer Methode Java Basics - Anfänger-Themen 1
P TicTacToe Problem mit Win Methode Java Basics - Anfänger-Themen 4
A Problem mit toString Methode Java Basics - Anfänger-Themen 8
P Problem mit dem Auslesen einer Varible/Methode Java Basics - Anfänger-Themen 8
F Problem bei eshop -> Ausführen einer Methode über eine Shopverwaltung Java Basics - Anfänger-Themen 6
E Problem beim Übergeben von Parameter an Methode Java Basics - Anfänger-Themen 2
O Methode in andere Klasse verlegt, "auslesen" einer HTML Seite verschnellert - Problem. Java Basics - Anfänger-Themen 4
F problem mit erster methode. Java Basics - Anfänger-Themen 6
M Threads Thread.Sleep Problem im Zusammenhang mit GUI/ActionPerformed-Methode Java Basics - Anfänger-Themen 4
D Problem mit Methode und Timer Java Basics - Anfänger-Themen 35
C Problem mit Zugriff auf Variable bzw. get-Methode in anderer Klasse Java Basics - Anfänger-Themen 2
D Problem mit set-Methode Java Basics - Anfänger-Themen 6
F Problem bei Rückgabe von StringBuffer aus Methode Java Basics - Anfänger-Themen 6
M Problem mit methode?? Java Basics - Anfänger-Themen 6
H Methoden Problem mit get-methode im Quelltext Java Basics - Anfänger-Themen 17
B Problem bei dem erstellen einer Main Methode Java Basics - Anfänger-Themen 4
M Problem bei Schleife + Methode Java Basics - Anfänger-Themen 2
G Problem mit sleep() Methode Java Basics - Anfänger-Themen 7
O Methode - Problem mit Subtraktion in einer while-Schleife Java Basics - Anfänger-Themen 2
T Problem beim Returnwert einer Methode Java Basics - Anfänger-Themen 12
chik Problem mit der Runnable Methode Java Basics - Anfänger-Themen 3
S Problem mit main Methode Java Basics - Anfänger-Themen 2
V Problem von einbinden der Methode Java Basics - Anfänger-Themen 2
V Problem mit Insert-Methode des Binärbaums Java Basics - Anfänger-Themen 4
J Methode nimmt Liste -> Problem Java Basics - Anfänger-Themen 4
G PRoblem mit rekursiver float additions methode Java Basics - Anfänger-Themen 9
S Problem mit Eclipse: erkennt vorhandene Main-Methode nicht Java Basics - Anfänger-Themen 13
D Problem bei einer Rekursiven Methode Java Basics - Anfänger-Themen 2
K mein() Methode – Argumente auslesen Problem Java Basics - Anfänger-Themen 6
G Problem mit Methode getColumnCount (JTable) Java Basics - Anfänger-Themen 3
M Problem mit Exponential Methode Java Basics - Anfänger-Themen 6
M Problem beim Aufruf einer Methode: Wo is der Fehler? Java Basics - Anfänger-Themen 12
S Problem mit Methode und Eclipse Java Basics - Anfänger-Themen 8
B Problem mit einer static void Methode Java Basics - Anfänger-Themen 8
H Konstruktor in Methode fremder Klasse: try-catch-Problem Java Basics - Anfänger-Themen 4
megachucky Kleines Problem mit dem "return" einer Methode. Java Basics - Anfänger-Themen 11
megachucky Problem mit LinkedList und der get-Methode Java Basics - Anfänger-Themen 2
Paule Problem mit getText()-Methode Java Basics - Anfänger-Themen 12
E Problem mit Methode Math.max Java Basics - Anfänger-Themen 2
D Problem bei Übergabe von Werten an eine Methode Java Basics - Anfänger-Themen 2
V Problem mit der Anzeige einer paint-Methode in einem Panel Java Basics - Anfänger-Themen 2
M Problem mit methode Java Basics - Anfänger-Themen 3
W Problem mit dem Aufruf einer Methode Java Basics - Anfänger-Themen 2
G Problem mit einer Methode Java Basics - Anfänger-Themen 2
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben