Produkt

Status
Nicht offen für weitere Antworten.

nata

Bekanntes Mitglied
hi an allen,
ich möchte bitten ob jemand zeit hat einen blick auf meine Id und namensüberprüfungen zu werfen.Kann man Id überprufung noch kompakter machen?
Java:
public class Produkt {
	private String name;
	private String id;
	
	public Produkt(String name, String id) {
		 setName(name);
		
	     setId(id);
	}
	public void setName(String name)throws Exception {
	
		// TODO: Überprüfungen einbauen - dazu für name und id setter schreiben
		// name: darf nicht null oder leer sein
		if (name == null || name.length() == 0){
			throw new Exception("Produktname darf nicht null oder leer sein");
				
		}
		this.name = name;	
	}
	
	
	public void setId(String id ) throws Exception {
		// id: hat den aufbau AAA-1111-AAA: 3 Buchstaben (großes A bis großes Z),
		// Bindestrich, 4 Ziffern, Bindestrich, noch einmal 3 Buchstaben
		if (id == null || id.lengh() != 12){
			throw new Exception ("id darf nicht null sein"); 
			
		}
		for (int i=0 ; i < 3 ; i ++  ){
			char c = id.charAt(i);
			
			if (!Character.isLetter(c) || !Character.isUpperCase(c)) {
				throw new Exception("die erste id zeichen sollen buchstaben sein");
			}
			
		}
		if(id.charAt(3) != '-'|| id.charAt(8) != '-'){
			throw new Exception("die 4. und 9. zeichen mussen bindestrich sein");
		}
		for(int i=4 ; i < 8 ; i ++   ){
			char c = id.charAt(i);
			
			if (!Character.isDigit(c) ) {
				throw new Exception("5. bis 8. zeichen solle zifer sein");
			}
			
		}
		
		for(int i=9 ; i < 11 ; i ++   ){
			char c = id.charAt(i);
			
			if (!Character.isLetter(c) || !Character.isUpperCase(c)) {
				throw new Exception("die letzte 3 zeichen sollen auch grosse buchstaben sein");
			}
			
		}
		
		
		this.id = id;
		
	}
	
	public String getId() {
		return id;
	}
	
	public String toString() {
		return id + ": " + name;
	}
}

danke vielmals
MFG nata
 

HoaX

Top Contributor
Einfach einen Regulären Ausdruck verwenden: id.matches("[A-Z]{3}-[0-9]{4}-[A-Z]{3}");

Btw: Das Problem hat nicht direkt was mit "Produkt" zu tun -> schlechte Titelwahl!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Produkt eines double - streams Java Basics - Anfänger-Themen 3
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
F Produkt d. Ziffern einer Zahl..?! Java Basics - Anfänger-Themen 5
T Produkt eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 5
Ocram Methoden Produkt eines Intervalls Java Basics - Anfänger-Themen 11
F Größtes Produkt in einem String Java Basics - Anfänger-Themen 4
H pi näherungsweise berechnen - Wallis Produkt Java Basics - Anfänger-Themen 9
R Produkt berechnen Java Basics - Anfänger-Themen 23
E Algorithmus für kart. Produkt: als int [] Feld repräsentiert Java Basics - Anfänger-Themen 10
T Produkt 1-10 mit Zwischenschritten Java Basics - Anfänger-Themen 7
N Matrix Matrix Produkt Java Basics - Anfänger-Themen 7
D The constructor Bestellung(Bestellung.Produkt, Bestellung.Kunde) is undefined Java Basics - Anfänger-Themen 15
B Produkt ohne Multiplizieren? Java Basics - Anfänger-Themen 7
U Summe produkt von einem array Java Basics - Anfänger-Themen 9
T Geht so was? public void verkaufe (<X implements Produkt& Java Basics - Anfänger-Themen 8
S mehrere Erweiterungen fürs Produkt Java Basics - Anfänger-Themen 6
J tast-Eingabe_(Vektor)Skalar-produkt Java Basics - Anfänger-Themen 19

Ähnliche Java Themen

Neue Themen


Oben