equals( mit mehreren möglichkeiten)

Status
Nicht offen für weitere Antworten.

samkirchner

Mitglied
Hi, ich hänge gerade mal wieder mit dem equals:

Mein Prob.:

Ich habe eine Variable Auswahl1 als String (da JOptionPane Eingabe) deklariert, nun will ich diese Vergleichen. Allerdings will ich 3 Eingaben vergleichen. Wenn nun zum Beispiel (it und It und IT) eingegeben wird, dann soll er in true gehen sonst in false.

Ich habe schon folgendes versucht:

if (Auswah1.equals(it or It or IT))

ging jedoch nicht, da er scheinbar dieses or nicht kennt.

if (Auswahl1.equals(it;It;IT))

ging auch net! Nun frage ich mich, wie ich mehrere Ausgabemöglichkeiten überprüfen kann, denn meine ersatz Lösung wäre .lenght wobei dies sicherlich sehr unschön wäre, da er dann alle 2 Stellen als true machen würde.

Danke für eure Unterstützung.

LG Sam
 
S

SlaterB

Gast
schreibe dir eine Hilfsoperation

public static boolean equal(Object a, Object b1, Object b2, Object b3) {
..
}
die mit drei normalen Einzelaufrufen vergleicht

das oder in Java ist || falls noch nicht bekannt,
Strings schreibt man "it" usw., falls noch nicht bekannt..

hmm, kennst du vielleicht den normalen dreifachen Vergleich noch gar nicht?

if (a.equals("x") ||a.equals("y") || ...)
 

manuche

Bekanntes Mitglied
die methode hat nur einen Paramete... Das heisst du kannst nur 2 Objekt in einem Schritt mit einander vergleichen:

Code:
if (a.equals (b)){
  // tu was
}else if (a.equals (c)){
  // tu was anderes
}else if (a.equals (d)){
  // tu noch was anderes
}
 

samkirchner

Mitglied
@ SlaterB

Ok, super ich habe dies nun mit deiner Methode gemacht

if (Auswahl1.equals("It")||Auswahl1.equals("it")||Auswahl1.equals("IT"))

und es geht und ich habe es verstanden.


@manuche

Deine Lösung ist auch sehr interessant, wobei ich else if noch nicht in der Schule hatte, geht dies auch mit case???

Super, nun kann es ja wieder weitergehen :D


Danke!

LG Sam
 
S

SlaterB

Gast
switch case geht nur mit Aufzählttyen wie int oder char,
nicht mit String
 

samkirchner

Mitglied
SlaterB hat gesagt.:
schreibe dir eine Hilfsoperation

public static boolean equal(Object a, Object b1, Object b2, Object b3) {
..
}
die mit drei normalen Einzelaufrufen vergleicht


Hm, habe ich noch nie gehört, kannst du mir bitte ne kurze Erklärung bzw. ein genaueres Beispiel geben ??? Denn wenn ich dies in mein Programm einschreibe, dann gehts nicht! Hier mal mein Code.

Code:
import javax.swing.*;
public class Umrechner 
{
	public static void main (String [] args)
	{
		JOptionPane.showMessageDialog(null, "Folgende Auswahlmöglichkeiten: IT oder Mathe");
		String Auswahl1 = JOptionPane.showInputDialog(null, "Welche Kategorie wollen Sie haben.");
		//String Auswahl2 = JOptionPane.showInputDialog(null, "Von was gehen Sie aus???");
		//String Auswahl3 = JOptionPane.showInputDialog(null, "In was wollen Sie umrechnen???");
		
		if (Auswahl1.equals("It")||Auswahl1.equals("it")||Auswahl1.equals("IT"))
		{
			public static boolean equal(it,It,IT)
			{
				
				
			}
			
		}
		else
		{
			JOptionPane.showMessageDialog (null, "Mathe");
		}
	}

Ich meine ich bezweifel ja, das ich das public static boolean in eine if einbauen kann, aber ich wollte das halt mal versuchen ( nur zum Lerneffekt ). Ich denke, das ist weit über dem Schulwissen, zumal man uns noch nicht einmal erklärte, was es mit diesem public static auf sich hat. Wir sollten dies auswendig lernen, da es zu kompliziert wäre und uns nur durcheinander bringt. Allerdings ist dies scheinbar sehr wichtig, denn ich habe letztens versucht mal ein Frame zu erstellen bzw. zu verstehen, war in der Anleitung auch ein erneutes public drin, was ich ausserhalb meiner public static void main machen musste, wieso keine Ahnung, habe halt den Code auswendiggelernt :).

LG Sam
 
S

SlaterB

Gast
Code:
public class Umrechner
{ 
   public static void main (String [] args) 
   {
      JOptionPane.showMessageDialog(null, "Folgende Auswahlmöglichkeiten: IT oder Mathe");
      String Auswahl1 = ..;
       
      if (equal(Auswahl1,"It","it","IT"))
      {


      }
      else
      {
         JOptionPane.showMessageDialog (null, "Mathe");
      }
   }


   public static boolean equal(Object a, Object b1, Object b2, Object b3) 
   {
        return ...;
   }
}
 

JavaFred

Aktives Mitglied
Wenn es nur um Groß- und Kleinschreibung geht, dann reicht auch eine Abfrage:

Code:
if (Auswahl1.equalsIgnoreCase("it")
 

samkirchner

Mitglied
Wie ich gerade herausgefunden habe, ist es auch möglich den || Operator mit equalsIgnoreCase zu kombinieren.

Code:
import javax.swing.*;
public class Umrechner 
{
	public static void main (String [] args)
	{
		JOptionPane.showMessageDialog(null, "Folgende Auswahlmöglichkeiten: IT oder Mathe");
		String Auswahl1 = JOptionPane.showInputDialog(null, "Welche Kategorie wollen Sie haben.");
		//String Auswahl2 = JOptionPane.showInputDialog(null, "Von was gehen Sie aus???");
		//String Auswahl3 = JOptionPane.showInputDialog(null, "In was wollen Sie umrechnen???");
		
		if (Auswahl1.equalsIgnoreCase("It"))
		{
			JOptionPane.showMessageDialog(null, "it");
			
		}
		else
		{
			if (Auswahl1.equalsIgnoreCase("Mathe")||Auswahl1.equalsIgnoreCase("Mathematik"))
			{
				
				JOptionPane.showMessageDialog(null, "Mathematik");
			}
			else
			{
				
				
			}
		}
	}
	
	
}

Naja, schaut dann doch ganz zufriedenstellend aus und das Beste, es funktioniert :###
 

SnooP

Top Contributor
sieht gut aus... - aber Variablen schreibt man in Java klein (sprich auswahl1 = ...) um sie von großgeschriebenen Klassennamen zu unterscheiden.
 
S

SlaterB

Gast
die statische Operation ist ein allgemeines Konzept und würde sich jetzt noch umso mehr lohnen:

if (equalsIC(Auswahl1,"Mathe","Mathematik")) {
...
}


(mit entsprechender Hilfsoperation)
 

samkirchner

Mitglied
:(

Naja, lange hat es ja nicht gerade funktioniert, denn ich wollte dieses else if auch noch einbauen, da sich das gerade angeboten hat, doch es geht nicht!

Code:
import javax.swing.*;
public class Umrechner 
{
	public static void main (String [] args)
	{
		JOptionPane.showMessageDialog(null, "Folgende Auswahlmöglichkeiten: IT oder Mathe");
		String auswahl1 = JOptionPane.showInputDialog(null, "Welche Kategorie wollen Sie haben.");
		
		String auswahl3; 
		
		if (auswahl1.equalsIgnoreCase("It"))
		{
			JOptionPane.showMessageDialog(null, "Sie haben sich für eine Umrechnung im IT-Bereich entschieden");
			JOptionPane.showMessageDialog(null, "Nun können Sie auswählen zwischen Binär(1) ; Oktal(2) ; Haxadezimal(3) ; Dezimal(4)");
			String auswahl2 = JOptionPane.showInputDialog(null, "Von was gehen Sie aus???");
			JOptionPane.showMessageDialog(null, "Nun können Sie auswählen zwischen Binär(1) ; Oktal(2) ; Haxadezimal(3) ; Dezimal(4)");
			if (auswahl2.equalsIgnoreCase("Binär")||auswahl1.equals("1"))
			{
				auswahl3 = JOptionPane.showInputDialog(null, "In was wollen Sie umrechnen???");
			}
			else if (auswahl2.equalsIgnoreCase("Oktal")||auswahl2.equals("2"));
			{
				JOptionPane.showMessageDialog(null, "Oktal");
			}
		 	//Diese Klammer wird makiert! Syntax error, insert "}" to complete Statement
			
			else if (auswahl2.equalsIgnoreCase("Hexadezimal")||auswahl2.equals("3"));//Hier sagt er mir,dass er sie nicht reservieren kann
			{
				JOptionPane.showMessageDialog(null, "Hexadezimal");
			}
			
		}//Diese Klammer wird ebenfalls makiert!
		else//else wird auch makiert!!!
		{
			if (auswahl1.equalsIgnoreCase("Mathe")||auswahl1.equalsIgnoreCase("Mathematik"))
			{
				
				JOptionPane.showMessageDialog(null, "Mathematik");
			}
			else
			{
				
				
			}
		}
	}
	
	
}

Folgender Fehler Auswahl2 cannot be resolved, aber ich habe Auswahl2 doch deklariert! Ich meine bei der ersten else if zeigt er mir noch keinen Fehler, erst bei der Zweiten???

Zudem sagt er mir noch: Syntax error on tokens, delete these tokens

Es wäre ja ein Wunder gewesen, wenn das auch noch funktioniert hätte :)

LG Sam
 
S

SlaterB

Gast
> else if (auswahl2.equalsIgnoreCase("Oktal")||auswahl2.equals("2"));

das ; am Ende der Zeile muss weg


> else if (auswahl2.equalsIgnoreCase("Hexadezimal")||auswahl2.equals("3"));

dort auch
 

samkirchner

Mitglied
@SlaterB

:oops: ok, ich glaub das reicht heute mit Java! Ich bedanke mich ganz herzlich bei dir und entschuldige mich für die vielen Fragen!!! Hab aber wirklich mit ein paar Fragen hier mehr gelernt als in der Schule :)

Wünsche dir noch nen schönen Tag

LG Sam
 

Marco13

Top Contributor
Vielleicht noch so als Nachtrag: Man kann auch beliebige viele Argumente an eine Methode übergeben (ab Java 1.5)
Code:
public static boolean equalsOneOf(String s, String ... t)
{
    if (s==null)
    {
        if (t==null || t.length == 0) return true;
        for (String u : t)
        {
            if (u==null) return true;
        }
        return false;
    }
    for (String u : t)
    {
        if (s.equals(u)) retrun true;
    }
    return false;
}

Das kann man dann aufrufen mit
equalsOneOf("Hallo", "Hallo");
oder
equalsOneOf("Hallo", "Halli", "Hallo", "Hallöle");
...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Say Equals Java Basics - Anfänger-Themen 6
W LocalDate vergleichen mit Equals? Java Basics - Anfänger-Themen 7
W Equals-Methode überschreiben bei composition Java Basics - Anfänger-Themen 20
W Wann und warum hashcode und equals? Java Basics - Anfänger-Themen 14
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
J compareTo()- und equals-Methode Java Basics - Anfänger-Themen 3
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
lallmichnichtzu Methoden Überladen des .equals-Operators Java Basics - Anfänger-Themen 6
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
S Interface Equals und hashCode Java Basics - Anfänger-Themen 16
G Java equals() Methode Java Basics - Anfänger-Themen 9
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
O equals Methode möglichst effizient Java Basics - Anfänger-Themen 13
H equals methode Java Basics - Anfänger-Themen 1
L Logistiksystem Methode equals und hashcode Java Basics - Anfänger-Themen 20
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
A OOP Richtige Verwendung von ArrayList und equals Java Basics - Anfänger-Themen 24
E equals Prüfung fehlgeschlagen Java Basics - Anfänger-Themen 3
C Objekt equals Java Basics - Anfänger-Themen 2
L String überprüfen mit .equals .contains oder .matches? Java Basics - Anfänger-Themen 1
H equals Methode Java Basics - Anfänger-Themen 1
F String equals NULL Problem Java Basics - Anfänger-Themen 4
D Auf equals von Vaterklasse zugreifen Java Basics - Anfänger-Themen 4
S Methoden equals(object o) / toString Java Basics - Anfänger-Themen 15
E Calender - Equals Problem Java Basics - Anfänger-Themen 14
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
Psypsy hashCode, equals und toString Java Basics - Anfänger-Themen 3
K hashCode, compareTo vs. equals Java Basics - Anfänger-Themen 3
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
S Unterschiede zwischen equals und contains Java Basics - Anfänger-Themen 2
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
A Probleme mit equals und get.Text Java Basics - Anfänger-Themen 12
S compareTo() und equals() Java Basics - Anfänger-Themen 6
S equals Methode bei String Java Basics - Anfänger-Themen 5
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
K Cast bei equals Java Basics - Anfänger-Themen 2
T SQL equals Java Basics - Anfänger-Themen 4
OnDemand Methoden Equals Methde Java Basics - Anfänger-Themen 3
D if block mit equals im rumpf Java Basics - Anfänger-Themen 11
K Vererbung equals-Methode bei Vererbung abstrakter Klassen Java Basics - Anfänger-Themen 8
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
K String - Equals Java Basics - Anfänger-Themen 2
J Klassen Warum ist (a.equals(b)) gleich (a==b)? Java Basics - Anfänger-Themen 13
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23
S Verständnissfrage equals() Java Basics - Anfänger-Themen 2
R compareTo & equals Java Basics - Anfänger-Themen 10
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
M Collections Problem bei Überschreibung von hashcode() und equals() bei Hashset-Implementierung Java Basics - Anfänger-Themen 5
W Stringvergleich mit equals Java Basics - Anfänger-Themen 13
C equals() Java Basics - Anfänger-Themen 4
D Problem mit string.equals bzw string.contains Java Basics - Anfänger-Themen 4
T Problem mit der while(!string.equals("x")) Java Basics - Anfänger-Themen 2
E Equals-Methode auf Class-Object Java Basics - Anfänger-Themen 17
X problem mit equals.gelöst Java Basics - Anfänger-Themen 2
J Methode equals() Java Basics - Anfänger-Themen 7
M Equals überschreiben Java Basics - Anfänger-Themen 3
K equals() und hashcode() überschreiben Java Basics - Anfänger-Themen 5
K equals in Hashmap() Java Basics - Anfänger-Themen 4
B if equals(irgendeine Zahl+Buchstabe) Java Basics - Anfänger-Themen 6
T equals() und hashCode() Java Basics - Anfänger-Themen 7
D probs mit clone und equals Java Basics - Anfänger-Themen 10
3 Collections containsKey() liefert false obwohl equals() true liefert Java Basics - Anfänger-Themen 6
N Vergleich per equals Java Basics - Anfänger-Themen 5
S comparable und equals Java Basics - Anfänger-Themen 7
M Frage zu Textvergleich (equals) Java Basics - Anfänger-Themen 8
G Strings vergleichen mit equals, geht das kürzer? Java Basics - Anfänger-Themen 4
B Frage zu Funktion mit equals Java Basics - Anfänger-Themen 17
D Eigene equals methode schreiben Java Basics - Anfänger-Themen 4
J Gibt es eine möglichkeit ähnlich wie .equals(bedingung1 ||bedingung ..n) ? Java Basics - Anfänger-Themen 5
D "2010–03–12".equals( "2010-03-12" ) Java Basics - Anfänger-Themen 6
X Frage zur Implementierung von equals() Java Basics - Anfänger-Themen 2
T Problem mit equals Java Basics - Anfänger-Themen 5
K Equals,Instanceof und "==" Java Basics - Anfänger-Themen 7
C warum liefert equals kein TRUE Java Basics - Anfänger-Themen 12
E Java hashCode equals Problem Java Basics - Anfänger-Themen 2
S equals vergleich Java Basics - Anfänger-Themen 10
H Equals hascode Java Basics - Anfänger-Themen 5
S Equals Downcast? Java Basics - Anfänger-Themen 11
D equals Vergleiche Java Basics - Anfänger-Themen 7
L String mit equals vergleichen Java Basics - Anfänger-Themen 6
neurox Tutorial equals und hashCode überschreiben Java Basics - Anfänger-Themen 33
F String equals null wird nicht angenommen. Java Basics - Anfänger-Themen 24
A Reihenfolge bei equals() Java Basics - Anfänger-Themen 2
P Toleranz bei equals Java Basics - Anfänger-Themen 4
B Frage zu equals() und hashCode() Java Basics - Anfänger-Themen 28
A veränderbar kanonische Klassen: Methode equals, hashcode, serializable Java Basics - Anfänger-Themen 5
D String#equals + String#charAt Java Basics - Anfänger-Themen 5
S equals() - hashCode() - Contract Java Basics - Anfänger-Themen 54
G mehrere Werte für .equals ? Java Basics - Anfänger-Themen 22
T [SOLVED] Java String equals funktioniert nicht Java Basics - Anfänger-Themen 5
C 2 Objekte (mathematisch) vergleichen in der equals Methode Java Basics - Anfänger-Themen 10
B String.equals(Object) anstatt "=" Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben