Comparable mit String

Franm

Mitglied
Guten Tag,

Als erstes wünsche ich euch Frohe Ostern.

Ich habe ein Problem. Ich möchte in der Klasse Student das Interface Comparable implementieren. Dann möchte ich die Geburtsdatum zweier Student vergleichen. Die Geburtsdatum können entweder so 04.03.1989 oder auch so 4.3.1989 angegeben werden. Dann soll gesagt werden zum Beispiel 14.03.1989 ist kleiner als 09.05.1994. Dann gibt es noch eine Testklasse mit dem Namen Aufgabe2
Das Problem bei der Studenten-Klasse ist das ich kein String in compareTo mit den Operator "-" vergleichen kann. Hat jemand eine Idee? Ich wünsche euch noch einen angenehmen Ostermontag :) .


Student-Klasse:
Java:
public class Student implements Comparable<Student> {
	public String name; // Name
	public int mat_nr; // Matrikelnummer
	public String gebdat; // Geburtsdatum tt.mm.jjjj

	public Student(String name, int mat_nr, String gebdat) {
		this.name = name;
		this.mat_nr = mat_nr;
		this.gebdat = gebdat;
	}

	@Override
	public int compareTo(Student x) {
		return this.gebdat- x.gebdat;
	}
}

Aufgabe2-Klasse:
Java:
public class Aufgabe2 extends Student {

	public Aufgabe2(String name, int mat_nr, String gebdat) {
		super(name, mat_nr, gebdat);
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student s1 = new Student("Willy Wichtig", 123, "01.02.1993");
		Student s2 = new Student("Marcel Muster", 456, "2.3.1994");
		if (s1.compareTo(s2) == 0) {
			System.out.println("0");
		}
		if (s1.compareTo(s2) < 0) {
			System.out.println("<");
		}
		if (s1.compareTo(s2) > 0) {
			System.out.println(">");
		}
	}

}
 
Zuletzt bearbeitet:

Franm

Mitglied
Habe es mit Integer.parseInt(this.gebdat) gelöst. Doch er möchte die Strings nicht in Integer parsen. Das Problem sind die Punkte bei den Geburtsdatum. Wie kann ich das umgehen, sodass die Punkte in den String bleiben?
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Du kannst den String mit .split("."); in ein Array um die Punkte splitten und die einzeln Einträge in ints parsen.
 
Zuletzt bearbeitet:

turtle

Top Contributor
Java:
	@Test
	public void test() throws ParseException {
		String s1 = "14.03.1989";
		String s2 = "09.05.1994";
		SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
		Date gebDatum1 = sdf.parse(s1);
		Date gebDatum2 = sdf.parse(s2);
		int x = gebDatum1.compareTo(gebDatum2);
		assertEquals(-1, x);
	}
 

Franm

Mitglied
Java:
public  int compareTo(Student x) {
		return Integer.parseInt(this.gebdat) - Integer.parseInt(x.gebdat);
	}

Wenn ich das so mache, werden die Daten auch nicht immer richtig sortiert. Zum Beispiel bei
Java:
Student s2 = new Student("Willy Wichtig", 123, "03011993");																	
		Student s1 = new Student("Franz Kanns", 456, "02011994");
und der Bedingung
Java:
if(s1.compareTo(s2)<0){
			
			System.out.println(s1.toString());
			System.out.println(s2.toString());}
			else{
				System.out.println(s2.toString());
				System.out.println(s1.toString());
			}

Gibt er
Java:
Student: Franz Kanns , 456 , 02011994
Student: Willy Wichtig , 123 , 03011993
aus. Wie kommt das?
 
Zuletzt bearbeitet:

anti-held

Bekanntes Mitglied
Beim vergleichen von Strings werden die einzelnen Zeichen der Reihe nach verglichen.
Also:

0 = 0 -> Mach weiter
2 < 3 -> String 1 ist kleiner als String 2
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S String umwandeln in Comparable Java Basics - Anfänger-Themen 6
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
J Interface Comparable<T> Java Basics - Anfänger-Themen 10
L Interface & Comparable Java Basics - Anfänger-Themen 15
I Generics und Comparable Java Basics - Anfänger-Themen 14
O Comparable Generic Java Basics - Anfänger-Themen 24
R Quicksort mit Interface Comparable Java Basics - Anfänger-Themen 6
Kornblume Comparable Interface für Objektvergleiche nutzen Java Basics - Anfänger-Themen 15
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
N Comparable bzw Comparator Java Basics - Anfänger-Themen 5
M Generische Liste aus Comparable-Objekten Java Basics - Anfänger-Themen 6
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
K Comparable - Objekte aus Array vergleichen und größtes auswählen Java Basics - Anfänger-Themen 1
Shizmo Frage zu Comparable Java Basics - Anfänger-Themen 4
L LinkedList Comparable < > MEHRFACH implementieren? Java Basics - Anfänger-Themen 3
N Datentypen LocalDate Generic Comparable Java Basics - Anfänger-Themen 2
S Generics und Comparable Interface Java Basics - Anfänger-Themen 5
N Compiler-Fehler Comparable / compareTo implementierung Java Basics - Anfänger-Themen 2
M Comparable und Comparator nicht ganz klar Java Basics - Anfänger-Themen 1
F Objekte sortieren mit Comparable Java Basics - Anfänger-Themen 9
R Mehrere Interfaces(Comparable, ...) Java Basics - Anfänger-Themen 2
B Comparable & Comparator Java Basics - Anfänger-Themen 9
C Comparable Interface Java Basics - Anfänger-Themen 8
T Interface Interface Comparable Problem... Java Basics - Anfänger-Themen 2
H Interface Comparable Verständnisfrage Java Basics - Anfänger-Themen 6
B Object "Method" in TreeSet, Fehler beim Vergleichen/Comparable Java Basics - Anfänger-Themen 9
pg1337 Interface Comparable-Interface bei HashMap Java Basics - Anfänger-Themen 21
J Probleme mit Comparable, compareTo() Java Basics - Anfänger-Themen 2
A Comparable interface Java Basics - Anfänger-Themen 26
I Interface Comparable für Server-Item-Interface Java Basics - Anfänger-Themen 12
P Comparable und Generics Java Basics - Anfänger-Themen 6
S comparable und equals Java Basics - Anfänger-Themen 7
S Unterschied Comparable und Comparator Java Basics - Anfänger-Themen 2
M Frage zum Interface Comparable Java Basics - Anfänger-Themen 3
S Comparable Java Basics - Anfänger-Themen 4
H Comparable und Comparator Java Basics - Anfänger-Themen 22
S instanceof Comparable...geht nicht? Java Basics - Anfänger-Themen 20
M comparable funktion & reverse funktion Java Basics - Anfänger-Themen 8
H Mehrere Comparable Java Basics - Anfänger-Themen 4
S Comparator / Comparable ? Java Basics - Anfänger-Themen 3
D Comparable - Bucketsort / Radixsort? Java Basics - Anfänger-Themen 2
B Mehrere Werte mit Comparable sortieren Java Basics - Anfänger-Themen 14
R Comparable Interface Funktionalität selbst programmieren? Java Basics - Anfänger-Themen 3
A Interface Comparable Java Basics - Anfänger-Themen 2
J Comparable Java Basics - Anfänger-Themen 9
D Frage zu Collection.sort bzw. Comparator u. Comparable Java Basics - Anfänger-Themen 2
B Wann Comparator und wann Comparable Java Basics - Anfänger-Themen 6
frau-u Wie vergleicht Comparable Java Basics - Anfänger-Themen 2
M Comparable - Bedingung erzwingen Java Basics - Anfänger-Themen 3
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben