Hallo ich habe folgendes Problem und hoffe mir kann einer von euch helfen
Im folgenden Quelltext soll bei der Identnummer geprüft werden ob es sich um eine Ziffer oder ein anderes Symbol befindet. Leider bekomme ich bei meiner Idee eine Fehlermeldung und weiß nicht woran es liegt.
" if(!) (Character.isDigit(identnummer.charAt(0)));
else System.out.println("Ihre Eingabe hat an der ersten " +
"Stelle keine Ziffer");"
Quelltext
import java.io.*;
public class MessdatenSK {
String messart;
String identnummer;
float messwert;
String einheit;
String prüfname;
int tag;
int monat;
int jahr;
public void weiseDatenZu()
{
this.identnummer="123456";
this.messart="Spannung";
this.messwert=12.3f;
this.einheit="Volt";
this.prüfname="Schmitz";
this.tag=17;
this.monat=06;
this.jahr=1986;
}
public void gebeDatenEin()
{
BufferedReader ein=new BufferedReader
(new InputStreamReader(System.in));
try
{
System.out.print("Identnummer:");
this.identnummer=ein.readLine();
if (identnummer.length()==6);
else System.out.println("FEHLER Ihre Identnummer muss sechs " +
"Zeichen haben.");
if(!) (Character.isDigit(identnummer.charAt(0))); else System.out.println("Ihre Eingabe hat an der ersten " +
"Stelle keine Ziffer");[/COLOR]
System.out.print("Messwert:");
this.messwert=Float.valueOf(ein.readLine()).floatValue();
System.out.print("Messart:");
this.messart=ein.readLine();
System.out.print("Einheit:");
this.einheit=ein.readLine();
System.out.print("Prüfname:");
this.prüfname=ein.readLine();
System.out.print("Tag:");
this.tag=Integer.valueOf(ein.readLine()).intValue();
System.out.print("Monat:");
this.monat=Integer.valueOf(ein.readLine()).intValue();
System.out.print("Jahr:");
this.jahr=Integer.valueOf(ein.readLine()).intValue();
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
}
public MessdatenSK()
{
gebeDatenEin();
}
public MessdatenSK(String m,String i, float w, String e, String p,int t,
int mo, int j)
{
this.messart=m;
this.identnummer=i;
this.messwert=w;
this.einheit=e;
this.prüfname=p;
this.tag=t;
this.monat=mo;
this.jahr=j;
}
public void gebeAufBildschirmAus()
{
System.out.println("Messart:"+this.messart);
System.out.println("Idenntnummer:"+this.identnummer);
System.out.println("Messwert:"+this.messwert);
System.out.println("Einheit:"+this.einheit);
System.out.println("Prüfname:"+this.prüfname);
System.out.println("\nDatum:"+this.tag+"."+this.monat+"."+this.jahr);
}
public static void main(String[]args)
{
MessdatenSK pdMessen1=new MessdatenSK();
MessdatenSK pdMessen2=new MessdatenSK("Strom","234567", 24.3f,
"Ampere","Schmitz", 20, 04, 2009);
MessdatenSK pdMessen3=new MessdatenSK("Wiederstand",
"654321", 13.33f, "Ohm","Peters", 18, 02, 2008);
System.out.println("\nMessdatenSK");
pdMessen1.gebeAufBildschirmAus();
pdMessen2.gebeAufBildschirmAus();
pdMessen3.gebeAufBildschirmAus();
}
}
Wäre cool wenn mir einer Helfen kann
Im folgenden Quelltext soll bei der Identnummer geprüft werden ob es sich um eine Ziffer oder ein anderes Symbol befindet. Leider bekomme ich bei meiner Idee eine Fehlermeldung und weiß nicht woran es liegt.
" if(!) (Character.isDigit(identnummer.charAt(0)));
else System.out.println("Ihre Eingabe hat an der ersten " +
"Stelle keine Ziffer");"
Quelltext
import java.io.*;
public class MessdatenSK {
String messart;
String identnummer;
float messwert;
String einheit;
String prüfname;
int tag;
int monat;
int jahr;
public void weiseDatenZu()
{
this.identnummer="123456";
this.messart="Spannung";
this.messwert=12.3f;
this.einheit="Volt";
this.prüfname="Schmitz";
this.tag=17;
this.monat=06;
this.jahr=1986;
}
public void gebeDatenEin()
{
BufferedReader ein=new BufferedReader
(new InputStreamReader(System.in));
try
{
System.out.print("Identnummer:");
this.identnummer=ein.readLine();
if (identnummer.length()==6);
else System.out.println("FEHLER Ihre Identnummer muss sechs " +
"Zeichen haben.");
if(!) (Character.isDigit(identnummer.charAt(0))); else System.out.println("Ihre Eingabe hat an der ersten " +
"Stelle keine Ziffer");[/COLOR]
System.out.print("Messwert:");
this.messwert=Float.valueOf(ein.readLine()).floatValue();
System.out.print("Messart:");
this.messart=ein.readLine();
System.out.print("Einheit:");
this.einheit=ein.readLine();
System.out.print("Prüfname:");
this.prüfname=ein.readLine();
System.out.print("Tag:");
this.tag=Integer.valueOf(ein.readLine()).intValue();
System.out.print("Monat:");
this.monat=Integer.valueOf(ein.readLine()).intValue();
System.out.print("Jahr:");
this.jahr=Integer.valueOf(ein.readLine()).intValue();
}
catch (IOException ioe)
{
System.out.println(ioe.toString());
}
}
public MessdatenSK()
{
gebeDatenEin();
}
public MessdatenSK(String m,String i, float w, String e, String p,int t,
int mo, int j)
{
this.messart=m;
this.identnummer=i;
this.messwert=w;
this.einheit=e;
this.prüfname=p;
this.tag=t;
this.monat=mo;
this.jahr=j;
}
public void gebeAufBildschirmAus()
{
System.out.println("Messart:"+this.messart);
System.out.println("Idenntnummer:"+this.identnummer);
System.out.println("Messwert:"+this.messwert);
System.out.println("Einheit:"+this.einheit);
System.out.println("Prüfname:"+this.prüfname);
System.out.println("\nDatum:"+this.tag+"."+this.monat+"."+this.jahr);
}
public static void main(String[]args)
{
MessdatenSK pdMessen1=new MessdatenSK();
MessdatenSK pdMessen2=new MessdatenSK("Strom","234567", 24.3f,
"Ampere","Schmitz", 20, 04, 2009);
MessdatenSK pdMessen3=new MessdatenSK("Wiederstand",
"654321", 13.33f, "Ohm","Peters", 18, 02, 2008);
System.out.println("\nMessdatenSK");
pdMessen1.gebeAufBildschirmAus();
pdMessen2.gebeAufBildschirmAus();
pdMessen3.gebeAufBildschirmAus();
}
}
Wäre cool wenn mir einer Helfen kann