Von der Tastatur eingelesene Strings miteinander vergleichen

Status
Nicht offen für weitere Antworten.
S

simon heise

Gast
ich soll via tastatur eingabe(buffered reader eclipse) 4 benutzerdaten über einen studenten in ein feld einlesen.
das ganze wird via get, set und read methoden realisiert.
später soll eine zusätzliche eingabe über tastatur verwendet werden um diesen wert mit den werten der verschiedenen studentenobjekte zu vergleichen. die eingelesenen werte sind Strings!!!
sollte es übereinstimmungen geben, dann muss der betroffene student ausgegeben werden, anderfalls soll ausgegeben werden dass dieser student nicht existiert.

hier mein code:
Code:
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Aufgabe1{
	
	private static boolean treffer;
	private static String matVergleich;

	public static String readVergleich(){		
		BufferedReader eingabe = new BufferedReader ( new InputStreamReader(System.in));
			try {
				matVergleich = eingabe.readLine();				
			}
			catch(Exception e){
				System.err.println("Error: " + e.getMessage());
			}
			return matVergleich;
		}	

	public static void main(String[] args) {
		
		Student[] feld1 = new Student[2];
		for ( int i = 0; i < feld1.length; i++){
			feld1[i] = new Student();
			feld1[i].read();			
		}
		readVergleich();
		for (int i = 0; i < feld1.length; i++){
			if (feld1[i].getMatrikelnummer() != matVergleich){
				treffer = true;
			}
			else{
				continue;
			}
			if (treffer){
				System.out.println(feld1[i].toString());
			}
				

		}
		if (treffer == false){
			System.out.println("Es gibt keinen Studenten mit dieser Matrikelnummer !!!");
		}
	}
}

Klasse Person:
Code:
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Person {

	private String name;
	private String vorname;
	private String telefonnummer;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getVorname() {
		return vorname;
	}
	public void setVorname(String vorname) {
		this.vorname = vorname;
	}
	public String getTelefonnummer() {
		return telefonnummer;
	}
	public void setTelefonnummer(String telefonnummer) {
		this.telefonnummer = telefonnummer;
	}
	public String toString(){
		return ("Name: " + getName() + "\n" + 
				"Vorname: " + getVorname() + "\n" + 
				"Telefonnummer: " + getTelefonnummer());
	}
	
	public void read(){
		BufferedReader eingabe = new BufferedReader ( new InputStreamReader(System.in));
		try {
			setName(eingabe.readLine());
			setVorname(eingabe.readLine());
			setTelefonnummer(eingabe.readLine());
		}
		catch(Exception e){
			System.err.println("Error: " + e.getMessage());
		}
	}
}

Klasse Student
Code:
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Student extends Person {
	
	private String matrikelnummer;

	public String getMatrikelnummer() {
		return matrikelnummer;
	}

	public void setMatrikelnummer(String matrikelnummer) {
		this.matrikelnummer = matrikelnummer;
	}
	
HIER DIE MARKIERTE toString METHODE

   	public String toString(){
		super.toString();
		return ("Name: " + getName() + "\n" + 
				"Vorname: " + getVorname() + "\n" + 
				"Telefonnummer: " + getTelefonnummer() + "\n" +
				"Matrikelnummer: " + getMatrikelnummer());
		//return ("Matrikelnummer: " + getMatrikelnummer());
	}

	
	public void read(){	
		super.read();		
		BufferedReader eingabe = new BufferedReader ( new InputStreamReader(System.in));
		try {
			setMatrikelnummer(eingabe.readLine());
		}
		catch(Exception e){
			System.err.println("Error: " + e.getMessage());
		}
	}
}

wenn ich nun jedoch aus
Code:
if (feld1[i].getMatrikelnummer() == matVergleich)
if (feld1[i].getMatrikelnummer()[b] != [/b]matVergleich)

mache gibt er mir selbst bei unterschiedlichen matrikelnummern beide studenten aus, was für mich indiz ist, dass er irgendwo ein problem beim vergleich der Strings hat.

das nächste problem ist, dass im fett geschriebenen teil eigentlich die toString methode der superklasse aufgerufen werden sollte. tut er aber nicht, aus testgründen hab ich halt einfach die toString methode der subklasse verändert. eigentlich sollte nur return matrikelnummer drin stehen(auskommentierter bereich

danke für eure hilfe, wenn ihr nicht durchblickt, dann sagt bescheid, dann schick ich den gesamten code

mfg simon
 

semi

Top Contributor
Vergleiche Strings mit equals, nicht mit dem Vergleichsoperator.
Klartext: matrikelnummer.equals(andereMatrikelnummer), nicht matrikelnummer == andereMatrikelnummer
 
G

Guest

Gast
semi hat gesagt.:
Vergleiche Strings mit equals, nicht mit dem Vergleichsoperator.
Klartext: matrikelnummer.equals(andereMatrikelnummer), nicht matrikelnummer == andereMatrikelnummer

danke dir, man kann so vieles googeln...was ich scheinbar net konnte

jedenfalls klappt alles wunderbar bis auf der aufruf der toString methode der superklasse, ich bekomme nur eine ausgabe der matrikelnummer bei einem treffer. ich geh von folgendem code aus:

subklasse student
Code:
	public String toString(){
		super.toString();
		return ("Matrikelnummer: " + getMatrikelnummer());
	}

superklasse person

Code:
	public void read(){
		BufferedReader eingabe = new BufferedReader ( new InputStreamReader(System.in));
		try {
			setName(eingabe.readLine());
			setVorname(eingabe.readLine());
			setTelefonnummer(eingabe.readLine());
		}

tja, und irgendwie will er diese toString methode net ausführen
 

JavaFred

Aktives Mitglied
Anonymous hat gesagt.:
Code:
public String toString(){
	super.toString();
	return ("Matrikelnummer: " + getMatrikelnummer());
}
tja, und irgendwie will er diese toString methode net ausführen
Doch, aber was erwartest Du denn von dem Aufruf? Es kommt ein String zurück, aber Du machst nichts mit dem String.
 

simlmf

Mitglied
JavaFred hat gesagt.:
Anonymous hat gesagt.:
Code:
public String toString(){
	super.toString();
	return ("Matrikelnummer: " + getMatrikelnummer());
}
tja, und irgendwie will er diese toString methode net ausführen
Doch, aber was erwartest Du denn von dem Aufruf? Es kommt ein String zurück, aber Du machst nichts mit dem String.

was ich mir davon erwarte ist, dass er mir nicht nur die matrikelnummer aus der toString methode der subklasse bei einem "treffer" ausgibt sondern, dass er beim aufruf der toString methode in die superklasse geht und von dort die anderen wert von name/vornamen etc ausgibt.

mfg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
S Tastatur input lesen Java Basics - Anfänger-Themen 7
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
T Tastatur mit robot ß ^ und @ simulieren Java Basics - Anfänger-Themen 4
N Tastatur simulieren Java Basics - Anfänger-Themen 4
T Tastatur angeschlossen? Java Basics - Anfänger-Themen 3
V Tastatur initialisieren JFrame Probleme Java Basics - Anfänger-Themen 6
H Tastatur.wurdeGedrueckt() macht nicht das, was ich will :/ Java Basics - Anfänger-Themen 2
T relais über virtuelle tastatur ansprechen Java Basics - Anfänger-Themen 6
S Text über Tastatur eingeben und ausgeben Java Basics - Anfänger-Themen 6
S Tastatur zuweisungen Java Basics - Anfänger-Themen 3
F Frage zu amerikanischer Tastatur Java Basics - Anfänger-Themen 9
E Tastatur Java Basics - Anfänger-Themen 3
P Tastatur funktioniert nicht Java Basics - Anfänger-Themen 4
E auf Tastatur reagieren Java Basics - Anfänger-Themen 8
D Datentypen SUM-Kern Tastatur Hotkey Java Basics - Anfänger-Themen 2
H Problem mit Tastatur Befehl Java Basics - Anfänger-Themen 11
P Eingabe von Tastatur Java Basics - Anfänger-Themen 4
P Problem mit der Tastatur Java Basics - Anfänger-Themen 31
G Strings von Tastatur einlesen und in ArrayList speichern Java Basics - Anfänger-Themen 12
Spin Von der Tastatur einlesen grafisch Java Basics - Anfänger-Themen 2
T Tastatur Tasten Senden Java Basics - Anfänger-Themen 4
Misti Eingabe Tastatur bzw. Datei Java Basics - Anfänger-Themen 6
G Zu Laufzeit von Tastatur einlesen Java Basics - Anfänger-Themen 11
J Tastatur-Puffer leeren Java Basics - Anfänger-Themen 3
A JTable nimmt eingaben von tastatur nicht an? Java Basics - Anfänger-Themen 2
M Tastatur.leseZahl(); geht nicht in Methoden ? Java Basics - Anfänger-Themen 3
M Fokus mit Maus und Tastatur Java Basics - Anfänger-Themen 5
M Eclipse --> Befehl: "Tastatur.leseKommazahl();" Java Basics - Anfänger-Themen 6
V Tastatur Abfrage im Lisener für eine Auswahl üder Textfeld Java Basics - Anfänger-Themen 8
N Tastatur direkt einlesen (ohne Enter) Java Basics - Anfänger-Themen 3
B Tastatur abfangen Java Basics - Anfänger-Themen 11
D Unsichtbar von der Tastatur einlesen Java Basics - Anfänger-Themen 7
B Eingabe von Tastatur Java Basics - Anfänger-Themen 2
B import class.tastatur Java Basics - Anfänger-Themen 2
E Array ueber Tastatur einlesen Java Basics - Anfänger-Themen 2
I einen text von tastatur in array einlesen und auch ausgeben Java Basics - Anfänger-Themen 1
G Eine ganze Zeile von der Tastatur einlesen! Java Basics - Anfänger-Themen 2
M Ein Zeichen von der Tastatur einlesen Java Basics - Anfänger-Themen 6
M Programm soll n Zahlen von der Tastatur lesen(Mittelwert) Java Basics - Anfänger-Themen 8
S tastatur ungepuffert abfragen Java Basics - Anfänger-Themen 3
D Nochmal zu den dummen Eingaben über Tastatur Java Basics - Anfänger-Themen 15
M Maus und Tastatur Java Basics - Anfänger-Themen 5
F Tastatur in Java Java Basics - Anfänger-Themen 12
G Maus+Tastatur aktionen simulieren? Java Basics - Anfänger-Themen 5
D Ein Wort einlesen über Tastatur und wieder ausgeben Java Basics - Anfänger-Themen 6
T Tastatur Java Basics - Anfänger-Themen 2
B Tastatur eingaben abfragen und dann in Argumente zerlegen..? Java Basics - Anfänger-Themen 8
G Java eingelesene Zahlen Java Basics - Anfänger-Themen 2
A Eingelesene Daten in Array(Liste) abspeichern? Java Basics - Anfänger-Themen 18
J Eingelesene Datei im Histrogramm darstellen Java Basics - Anfänger-Themen 3
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
Rayo Eingelesene Ascii Zahlen wie normale Zahlen prüfen Java Basics - Anfänger-Themen 4
J größte eingelesene Zahl ausgeben lassen Java Basics - Anfänger-Themen 12
D Eingelesene Datei verarbeiten Java Basics - Anfänger-Themen 11
A eingelesene String in buchstaben teilen Java Basics - Anfänger-Themen 9
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
N Nachkommastellen von Strings Java Basics - Anfänger-Themen 3
T Strings unveränderlich???? Java Basics - Anfänger-Themen 22
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
S Die durchschnittliche Länge der Strings Java Basics - Anfänger-Themen 11
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
sserio StringBuilder und Strings Java Basics - Anfänger-Themen 8
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
N Strings verpflechten Java Basics - Anfänger-Themen 4
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
L Strings aneinanderhängen Java Basics - Anfänger-Themen 2
M Strings vergleichen Java Basics - Anfänger-Themen 10
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
P Verketten, Aneinanderreihen von Strings Java Basics - Anfänger-Themen 2
M Strings mit gerader und ungerader Länge ausgeben Java Basics - Anfänger-Themen 10
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
W Strings und das parsen Java Basics - Anfänger-Themen 8
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
D Vergleichen von Strings Java Basics - Anfänger-Themen 6
M Konkatenation von zwei Strings Java Basics - Anfänger-Themen 6
J Abbruchbedingung in Schleife/ Untersuchung von Strings Java Basics - Anfänger-Themen 2
S Buchstaben in Großbuchstaben (Strings) Java Basics - Anfänger-Themen 5
X Anagramm mit Strings und Methode Java Basics - Anfänger-Themen 53
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
P Strings mit der Axt zerteilen Java Basics - Anfänger-Themen 7
F Alle Zeichenkombinationen eines Strings iterativ herausfinden Java Basics - Anfänger-Themen 26
K Strings hochzählen Java Basics - Anfänger-Themen 20
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
J Unveränderbarkeit von Strings Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben