Variablen Vergleich funktioniert nicht

chrooomium

Mitglied
So langsam bin ich mit meinem Latein am Ende,
aber das verdammte Programm geht einfach nicht in die markierte if-verzweigung ein, obwohl er mir vorher ausgibt das newString und internArray gleich sind! Ich verstehe den Fehler nicht.. Beides String's, beide gleich und trotzdem scheint irgendwas nicht zu funktionieren.
danke im voraus!




Java:
public void lösche(String newString)
{
	delete = false;
	//String suchen
	for (int i=0; i<(internArray.length); i++)
	{
		System.out.println("internArray:" + internArray[i]);
		System.out.println("newString:" + newString);
		
		[COLOR="Red"]if (newString == internArray[i])[/COLOR]
			{
				System.out.println("deleted!");
				
				delete = true;
				for (int k=i; k<(internArray.length-1); k++)
				{
				internArray[k] = internArray[k+1];
				}
			}
	}
	
	 if (delete)
	{
		tArray = internArray;
		internArray = new String[internArray.length-1];
		
				for (int i=0; i<(internArray.length); i++)
				{
					internArray[i] = tArray[i];	
				}	
	}
	
}
 
Zuletzt bearbeitet:

irgendjemand

Top Contributor
kennst du google ? hast du jemals ein grundlagenbuch gelesen ?

Object.equals(Object)

btw : [noparse]
Java:
anstatt [/noparse]
 

chrooomium

Mitglied
Habs geändert, danke.
Ne, newString.equals funktioniert ja auch nicht.

edit: Der String wird als Variable übergeben. Wenn ich allerdings ein String "so" Übergebe, mit

Java:
Vektor.lösche("hallo");

funktioniert es.
 
Zuletzt bearbeitet:

chrooomium

Mitglied
Habt recht. Also, neuer Versuch:

Bei einem Vergleich mit

Java:
if (newString.equals(internArray[i]))

ist das Ergebnis genau so wenig true , wie bei einem Vergleich mit

Java:
if (newString == internArray[i])

obwohl er es eigentlich müsste, da mir vorher zwei gleiche Strings ausgeprintet werden.

Java:
System.out.println("internArray:" + internArray[i]);  // Ergibt beispielsweise hi
System.out.println("newString:" + newString);  //  // Ergibtauch hi

Meiner Meinung nach müsste der vergleich also auch "true" sein und die Anweisungen der if-Konstruktion (wie nennt man das eigentlich, eine Verzweigung ists ja nicht, oder?) ausgeführt werden.

So, hoffe das war verständlich, bin ein bisschen überstürzt vorgegangen.
 
S

SlaterB

Gast
> Der String wird als Variable übergeben. Wenn ich allerdings ein String "so" Übergebe [..]

genau so ist der Unterschied normalerweise wenn man == statt equals verwendet,
falls du das immer noch irgendwo falsch hast, korrigiere es, ansonsten solltest du zum Posten eines vollständigen
kleinen Testprogramms auch mit main-Methode übergehen,
dann kann jede in wenigen Minuten bis Sekunden den Fehler sehen

> Meiner Meinung nach müsste der vergleich also auch "true" sein

müsste müsste, aber ist eben nicht, Leerzeichen in Strings? Länge vergleichen, jedes Zeichen einzeln,
falls das Programm von Benutzereingaben abhängt, nutzt natürlich auch mehr Code hier nicht unbedingt etwas
 

HimBromBeere

Top Contributor
edit: Der String wird als Variable übergeben. Wenn ich allerdings ein String "so" Übergebe, mit
Wie hast du´s denn erst gemacht? Sehe da grade nicht den springenden Punkt, weshalb es mit "hallo" gehen sollte und mit
Java:
String newString = "wasauchimmer";
Vektor.loesche(uebrugens vorzugsweise ohne Umlaute)(newString) nicht.

EDIT:
Also bei mir gehts das Folgende:
Java:
String internArray[] = new String[] {"hi"};
String newString = "hi";
if (newString.equals(internArray[0])) System.out.println("läuft");
 
Zuletzt bearbeitet:

chrooomium

Mitglied
Hier die Methode in der der Dienst aufgerufen wird:

Java:
import sum.kern.*;
import sum.werkzeuge.*;

public class ErsterThread implements Runnable {

Bildschirm b;
Maus m;	
Buntstift s;
Uhr u;
Tastatur t;
CopyOfVektor v;
boolean endlos;

String outp;


public ErsterThread(Bildschirm pB)

{
	b = pB;
	m = new Maus();
	s = new Buntstift();
	t = new Tastatur();
	v = new CopyOfVektor(b);
}

public void run()
{
	endlos = false;
	while (endlos == false)
	{
		
		// fügeHinzu Button
		if ((m.hPosition()>100) && (m.hPosition()<200) && (m.vPosition()>100) && (m.vPosition()<150) && (m.istGedrueckt()))
		{
			outp = "";
			
			
			do
			{
				if (t.wurdeGedrueckt())
				{
					outp = outp + t.zeichen();
					t.weiter();
				}
				
			} while (!((m.hPosition()>300) && (m.hPosition()<450) && (m.vPosition()>300) && (m.vPosition()<350) && (m.istGedrueckt())));
			v.fügeHinzu(outp);
			
			
		}
		
		
		
		
		// lösche Button
		if ((m.hPosition()>250) && (m.hPosition()<350) && (m.vPosition()>100) && (m.vPosition()<150) && (m.istGedrueckt()))
		{
			outp = "";
		
			
			do
			{
				
				if (t.wurdeGedrueckt())
				{
					outp = outp + t.zeichen();     //Die letzte Tastatureingabe wird dem String hinzugefügt
					t.weiter();     //Das Zeichen im Tastaturpuffer wird gelöscht
				}
				
			} while (!((m.hPosition()>300) && (m.hPosition()<450) && (m.vPosition()>300) && (m.vPosition()<350) && (m.istGedrueckt())));
			v.lösche(outp);     /Hier wird der obige Dienst aufgerufen
		}
		
	}

}
}

Ich weiß, der Code ist sicher nicht ganz sauber, die es gibt wahrscheinlich bessere Lösungen als mit den SuM-Klassen zu arbeiten und eine Endlos-schleife sollte man auch nicht schreiben, aber bin wie gesagt noch ziemlicher Anfänger.
Die fügeHinzu methode funktioniert übrigens.
 

chrooomium

Mitglied
Wie hast du´s denn erst gemacht? Sehe da grade nicht den springenden Punkt, weshalb es mit "hallo" gehen sollte und mit
Java:
String newString = "wasauchimmer";
Vektor.loesche(uebrugens vorzugsweise ohne Umlaute)(newString) nicht.

EDIT:
Also bei mir gehts das Folgende:
Java:
String internArray[] = new String[] {"hi"};
String newString = "hi";
if (newString.equals(internArray[0])) System.out.println("läuft");

Das ist's ja, ich verstehe auch absolut nicht warum es nicht geht.
 

chrooomium

Mitglied
Nachdem ich es nochmal mit
Java:
 String.equals()
probiert habe und jetzt nochmal mit dem normalen Vergleich funktioniert es, ich verstehe es nicht, es ist immer noch exakt der gleiche code wie der den ich hier gepostet habe..
Irgendwie muss eclipse gesponnen haben oder so, ich checks nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S String Vergleich funktioniert nicht Java Basics - Anfänger-Themen 3
B Wieso funktioniert dieser Vergleich nicht? Java Basics - Anfänger-Themen 3
S Vergleich Datum mit Feiertag funktioniert nicht ? Java Basics - Anfänger-Themen 18
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
U Interface als PAramter (Vergleich) und ein Error Java Basics - Anfänger-Themen 9
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
B Performance-Vergleich mit C++ Java Basics - Anfänger-Themen 55
K Rekursiver Vergleich von Textmuster und Text Java Basics - Anfänger-Themen 2
Zeppi Vergleich von Array-Inhalten Java Basics - Anfänger-Themen 14
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
W Vergleich von DatenPaketen Java Basics - Anfänger-Themen 6
B String vergleich Java Basics - Anfänger-Themen 3
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
K File-Name Vergleich Java Basics - Anfänger-Themen 2
V Fließkommazahlen Vergleich Java Basics - Anfänger-Themen 7
J Vergleich Java Basics - Anfänger-Themen 2
N Vergleich von Strings schlägt fehl.. Java Basics - Anfänger-Themen 5
S Vergleich zweier ArrayLists mit Ausgabe an dritte ArrayList Java Basics - Anfänger-Themen 5
T Vergleich und Ausgabe von Zahlen Java Basics - Anfänger-Themen 1
G Klassen Vergleich zweier Klassen Java Basics - Anfänger-Themen 23
J Fehler bei Vergleich auf den grössten Wert Java Basics - Anfänger-Themen 2
A Do-While Schleife; int vergleich Java Basics - Anfänger-Themen 2
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
T Input/Output String-Vergleich schlägt fehl Java Basics - Anfänger-Themen 7
W Konvertierung und Vergleich unterschiedlicher Zeitformate Java Basics - Anfänger-Themen 11
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
N Methoden Methode zum Vergleich zweier Geburtstage Java Basics - Anfänger-Themen 5
W Vergleich mit If-Abfrage nur für Zahlen bis 07 möglich - Warum? Java Basics - Anfänger-Themen 7
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
L PW-Vergleich Java Basics - Anfänger-Themen 5
N Vergleich zweier String Arrays scheitert Java Basics - Anfänger-Themen 3
S Vergleich von Listen Java Basics - Anfänger-Themen 6
J vergleich von arrays (benötige Hilfe/Denkanstoß) Java Basics - Anfänger-Themen 16
V Einfacher vergleich von Arrays geht schief Java Basics - Anfänger-Themen 2
T Operatoren Multiplikation nur mit Addition, Subtraktion und Vergleich Java Basics - Anfänger-Themen 29
N Methoden Array vergleich funzt nicht Java Basics - Anfänger-Themen 8
B Char-Vergleich Sonderzeichen Java Basics - Anfänger-Themen 6
S Vergleichsmethode zum Objekt-Vergleich mit < und > Java Basics - Anfänger-Themen 4
F Problem bei Vergleich Java Basics - Anfänger-Themen 3
S File vergleich - Junit Java Basics - Anfänger-Themen 6
P String-Vergleich Java Basics - Anfänger-Themen 3
S Multiplikation durch Addition, Subtraktion und Vergleich von Zahlen Java Basics - Anfänger-Themen 14
W Vergleich ob Buchstabe in einem Wort enthalten ist Java Basics - Anfänger-Themen 3
C String Objekte Vergleich je nach Instanzierung unterschiedlich!!?!! Java Basics - Anfänger-Themen 4
R String-Vergleich Java Basics - Anfänger-Themen 15
J Erste Schritte Vergleich der String-Objekte Java Basics - Anfänger-Themen 17
B Zwei verschiedene Daten vergleich Java Basics - Anfänger-Themen 2
A Variablen Vergleich Java Basics - Anfänger-Themen 5
P Erste Schritte vergleich substring und string Java Basics - Anfänger-Themen 4
G Date - Calender | "Vergleich" Java Basics - Anfänger-Themen 3
M Vergleich mit Toleranz Java Basics - Anfänger-Themen 7
B Objekt Vergleich - Unterschiede ausgeben Java Basics - Anfänger-Themen 4
P Vergleich mit Variablen Java Basics - Anfänger-Themen 6
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
K Vergleich von variable und array Java Basics - Anfänger-Themen 9
L vergleich zweier texte Java Basics - Anfänger-Themen 18
H Beim Vergleich/Sortieren mehr als zwei Objekte berücksichtigen Java Basics - Anfänger-Themen 14
B Vergleich zweier Objekte durch "Hashfunktion" Java Basics - Anfänger-Themen 12
P Vergleich von Enums Java Basics - Anfänger-Themen 4
A String-Vergleich geht nicht Java Basics - Anfänger-Themen 2
U Automatenprüfung in Java implementieren — String Vergleich klappt nicht Java Basics - Anfänger-Themen 40
F Methoden Vergleich von int Zahlen Java Basics - Anfänger-Themen 16
F Login Passwort-Vergleich Java Basics - Anfänger-Themen 12
N Vergleich per equals Java Basics - Anfänger-Themen 5
Z XML Vergleich Java Basics - Anfänger-Themen 20
S Herunterladen von Dateien mit Vergleich Java Basics - Anfänger-Themen 6
L Problem String-Vergleich Java Basics - Anfänger-Themen 2
E Objekte-Vergleich Java Basics - Anfänger-Themen 6
Y Datentypen String vergleich Java Basics - Anfänger-Themen 3
R Vergleich von Objekten anhand variierender Kriterien Java Basics - Anfänger-Themen 5
K Datentypen Arrays in Java - Adress-Arithmetik im Vergleich zu Listen Java Basics - Anfänger-Themen 4
S equals vergleich Java Basics - Anfänger-Themen 10
A Datentypen instanceof VS Class - Vergleich Java Basics - Anfänger-Themen 4
M Char vergleich zu Int Java Basics - Anfänger-Themen 10
G Wann ist ein == Vergleich bei Gleitkommazahlen fahrlässig? Java Basics - Anfänger-Themen 8
algorismi Ausführungszeit Vergleich == true Java Basics - Anfänger-Themen 8
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
T Zwei listen vergleich und selbige löschen Java Basics - Anfänger-Themen 4
T Vergleich mit Typecasts Java Basics - Anfänger-Themen 3
Screen Eine Frage zu moueMove in applets und deren Vergleich Java Basics - Anfänger-Themen 11
M Vergleich Float-, Doublewert Java Basics - Anfänger-Themen 10
G Vergleich zweier Arrays Java Basics - Anfänger-Themen 8
U Methode Vergleich von 2 Arrays Java Basics - Anfänger-Themen 5
S String Vergleich mit Passwort geht nur bei Zahlen ? Java Basics - Anfänger-Themen 7
G Vergleich klappt nicht Java Basics - Anfänger-Themen 3
T Vergleich von generischen Typen Java Basics - Anfänger-Themen 2
C DB Vergleich mit Eingabe Java Basics - Anfänger-Themen 5
G Vergleich großer Basen/Exponenten? Java Basics - Anfänger-Themen 3
F Vergleich von Objekten Java Basics - Anfänger-Themen 2
N Vergleich findet nicht statt. Java Basics - Anfänger-Themen 13
M 2 Fragen: Vergleich, aber wie? Was passiert in diesem Teil? Java Basics - Anfänger-Themen 18
A Vergleich schlägt fehl Java Basics - Anfänger-Themen 15
G Vergleich bei MD5-Verschlüsselung Java Basics - Anfänger-Themen 3
R +1 Vergleich Java Basics - Anfänger-Themen 3
E Char vergleich Java Basics - Anfänger-Themen 7
loadbrain Array vergleich mit 2 for schleifen Java Basics - Anfänger-Themen 6
D Vergleich von ListenElementen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben