Compiler-Fehler javac - 08 eine zu große int?

X

Xperion

Gast
Ich habe folgendes Problem:
Ich arbeitete an einem Programm in dem bei einem Datum nachgeschaut wurde, ob es Heute, Gestern, oder Vorgestern war. (Das Ergebnis wurde ausgegeben, sollte es vorvorgestern oder früher sein, wird das Datum ausgegeben). Es lief erstmal nur als Test, mit einem im Quelltext festgelegtem Datum. Als ich es compilieren wollte, kam folgendes Problem: "datum.java:54: error: integer number too large: 08" und "datum.java:60: error: integer number too large: 09" in dem Abschnitt in dem diese Fehler passierten (es war eine if-blockaneinanderreiung mit verschiedenen if-blöcken) ging es um die Erkennung ob der Tag der 31. eines Monats war obwohl es ein Monat mit nur 30 Tagen war. hier der Quelltextabschnitt (ich habe in dem Datum eine etwas ulkige Variante genommen desswegen werde ich diesen Abschnitt auch mit einfügen)

Java:
		if(day>=31 && month!=01 && month!=03 && month!=05 && month!=07 && month!=08 && month!=10 && month!=12) {
			text=4;
			if(month==04)
				errText="April hat nicht mehr als 30 Tage!";
			if(month==06)
				errText="Juni hat nicht mehr als 30 Tage!";
			if(month==09)
				errText="September hat nicht mehr als 30 Tage!";
			if(month==11)
				errText="November hat nicht mehr als 30 Tage!";
		}
Jetzt die Datum Variante:
Java:
public static void datumMeth(String dateUmwandlung){
	
		int dater;
		int datem;
		int text=0;
		String s = "20120413";
		int year1 = s.substring(0, 4);  
		int month1 = s.substring(4, 6);		
		int day1 = s.substring(6, 8);
		int year = dateumwandlung.substring(0, 4);  
		int month = dateumwandlung.substring(4, 6);		
		int day = dateumwandlung.substring(6, 8);
		boolean schaltjahr = false;
		String datumAusgabe;
		String errText;
		int dateUmwandlung1=dateUmwandlung;
Kann mir bitte jemand helfen? ich hab nämlich keine Ahnung warum 09 oder 08 zu groß für int sein sollte! Ich bin außerdem neu in Java und finde mich sonst nicht so zurecht....
 

Final_Striker

Top Contributor
Ein Zahl hat keine führenden Nullen, also nicht 04 sondern einfach 4.

Zudem

Java:
int year1 = s.substring(0, 4);

Substring liefert, wie der Name schon sagt einen String und keine Zahl zurück.
 
X

Xperion

Gast
also wenn ich 04==4 als Kondition aufstelle kommt trotzdem true heraus? Aber was ist mit dem String-Problem soll ich einfach nochmal sechs neue int's aufstellen und denen den wert von den Strings zuweisen?
 
N

nillehammer

Gast
Um Strings in ints umzuwandeln, musst Du Integer.parseInt verwenden:
Java:
String year1Str = s.substring(0, 4);
int year1 = Integer.parseInt(year1Str);
 

irgendjemand

Top Contributor
@TO
führende 0 = oktalzahl ... und da gibt es nun mal nur 0-7 ... womit 08/09 zu groß sind ...

ähnliches bei HEX : "0x" als präfix ... ziffern : 0-F

oder binär : "0b" als präfix und nur 0 und 1 ...

hast du in deinem lehrbuch das kapitel über "zahlensysteme" überlesen ?
 
X

Xperion

Gast
In meinem Buch gibts kein Kapitel mit Zahlensystemen (Verlag: Markt und Technik) Allerdings bin ich noch Anfänger und zudem 12 Jahre alt.
Leider sind noch ein paar Probleme aufgetreten. Mittlerweile habe ich den Quelltext ein bisschen verbessert wobei er übrigens noch unübersichtlicher geworden ist... Ich habe einprogrammiert dass er, wenn die Zahl eine null am anfang hat, diese wegnimmt. Doch es treten noch einige Fehler auf. (ich kann es aber schon kompilieren! ein winziger schritt nach vorne) Er gibt mir trotz zahlreicher Detektoren immer nur aus, welches Datum war. Das sollte er nur machen wenn das Vergleichsdatum nicht Heute, Gestern oder Vorgestern ist. Natürlich habe ich alle Funktionen getestet, wesswegen mir das aufgefallen ist. Hier nochmal der gesamte Quelltext
Java:
public class datum{
	
	public static void datumMeth(String dateumwandlung){
		//Instanzen
		int datem;
		int text=0;
		
		// festes Datum
		String s = "20121013";
		// (es ist der 13.10.2012 im Format YYYY.MM.DD)
		
		// fortsetzung Instanzen
		String year1str = s.substring(0, 4);  
		String month1str = s.substring(4, 6);		
		String day1str = s.substring(6, 8);
		String yearstr = dateumwandlung.substring(0, 4);  
		String monthstr = dateumwandlung.substring(4, 6);		
		String daystr = dateumwandlung.substring(6, 8);
		boolean schaltjahr = false;
		String datumAusgabe="Fehler: String wurde nicht richtig initialisiert.";
		String errText="Fehler: Aktion unberechtigt aufgerufen.";
		int dateUmwandlung1 = Integer.parseInt(dateumwandlung);
		int sint = Integer.parseInt(s);

		
		// Umwandlung der Strings in integer
		int year1 = Integer.parseInt(year1str);
		int month1 = Integer.parseInt(month1str);
		int day1 = Integer.parseInt(day1str);
		int year = Integer.parseInt(yearstr);
		int month = Integer.parseInt(monthstr);
		int day = Integer.parseInt(daystr);
		
		//Hier geht es mit den Operatoren los, die eine Null am Anfang einer Zahl wegnehmen sollen.
		if(day<=9)
			day=Integer.parseInt(dateumwandlung.substring(7, 8));
			
		if(day1<=9)
			day1=Integer.parseInt(s.substring(7, 8));
			
		if(month<=9)
			month=Integer.parseInt(dateumwandlung.substring(5, 6));
			
		if(month1<=9)
			month1=Integer.parseInt(s.substring(5, 6));
			
		if(year<=999 && year>=100)
			year=Integer.parseInt(dateumwandlung.substring(2,4));
		
		if(year<=99 && year>=10)
			year=Integer.parseInt(dateumwandlung.substring(3,4));
			
		if(year<=9 && year>=0)
			year=Integer.parseInt(dateumwandlung.substring(4, 4));
			
		if(year1<=999 && year>=100)
			year1=Integer.parseInt(s.substring(2,4));
		
		if(year1<=99 && year>=10)
			year1=Integer.parseInt(s.substring(3,4));
			
		if(year1<=9 && year>=0)
			year1=Integer.parseInt(s.substring(4, 4));
			
			
			
		//Instanzen initialisierung zum Vergleichen für "Vorgestern", "Gestern" und Daten davor.
		
		int gday = day1;
		int vday = day1;
		int sday = day1;
		
		gday-=1;
		vday-=2;
		sday-=3;

		
			
		//Vergleichs-Blöcke
		
		if(year==year1 && month==month1 && day==day1)
			text=1;
			
		
		if(year==year1 && month==month1 && day==gday)
			text=2;
		
		
		if(year==year1 && month==month1 && day==vday)
			text=3;
			
		if((year % 4) == 0)
			schaltjahr=true;
			
		// Mindestdatum
		if(dateUmwandlung1<19840802){
			text=4;
			errText="Vor dem 2.8.1984 gab es keine E-Mails in Deutschland!";
			
		}
		// Höchste und niedrigste Zahl (Monat)
		if(month==0 || month>12) {
			text=4;
			errText="Kein Jahr hat weniger als 0 oder mehr als 12 Monate!";
		}
		// Höchste und niedrigste Tagesangabe (allgemein)
		if(day<=0 || day>31) {
			text=4;
			errText="Kein Monat hat einen 0ten Tag oder mehr als 31 Tage!";
			
			}
		// Detektor ob für einen 30 tägigen Monat 31 Tage eingegeben wurden
		if(day>=31 && month!=1 && month!=3 && month!=5 && month!=7 && month!=8 && month!=10 && month!=12) {
			text=4;
			if(month==4)
				errText="April hat nicht mehr als 30 Tage!";
			if(month==6)
				errText="Juni hat nicht mehr als 30 Tage!";
			if(month==9)
				errText="September hat nicht mehr als 30 Tage!";
			if(month==11)
				errText="November hat nicht mehr als 30 Tage!";
		}
		// Detektor ob eine zu hohe Tagesangabe für Februar gemacht wurde
		if(day>=29 && month==2 && schaltjahr==false) {
			text=4;
			errText="Februar hat (wenn kein Schaltjahr ist) nicht mehr als 28 Tage!";
		}
		
		//Detektor ob das Datum füher als vorgestern war (siehe "Initialisierung für Instanzen zum vergleichen...")
		if(day1<=sday)
			text=0;
			
		// Textzahl zu Ausgabe verknüpfung
		if(text==0)
			datumAusgabe = "Vom " + day + "." + month + "." + year;
		
		if(text==1)
			datumAusgabe = "Von Heute";
			
		if(text==2)
			datumAusgabe = "Von Gestern";
			
		if(text==3)
			datumAusgabe = "Von Vorgestern";
			
		//                       Fehler ausgeben (Instanz wurde in den Detektoren initialisiert)	
		if(text==4)
			datumAusgabe = "Fehler: " + errText;
			
		System.out.println(datumAusgabe);
			
	}
	
	public static void main(String[] args) {	
			
		//Daten zum kontrollieren und testen		
		datumMeth("20121013");
		datumMeth("20121012");
		datumMeth("20121011");
		datumMeth("20120229");
		datumMeth("20110229");
		datumMeth("20110531");
		datumMeth("20110431");
	}
}

Ich hoffe, dass ihr mir wieder helfen könnt
 
X

Xperion

Gast
Leute! Ich hab zwar keine Ahnung wie, aber das Problem hat sich von ganz alleine (was zwar irgendwie nicht stimmen kann) gelöst! Ich kann mich noch daran erinnern dass ich eine Zeile weggenommen hatte weil ich gerade den Quelltext nochmal durchgegckt hatte aber ich hatte nicht geglaubt dass dieseZeile das Programm rettet!
Trotzdem vielen Dank für eure Hilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Javac -version der Befehl ist entweder falsch geschrieben oder...... Java Basics - Anfänger-Themen 8
T In C:\java\bin wird kein javac angezeigt. Java Basics - Anfänger-Themen 1
T Bei mir wird keine javac angezeigt sondern nur javacpl Java Basics - Anfänger-Themen 2
O javac Java Basics - Anfänger-Themen 16
D JAVA JDK korrekt installieren javac wird nicht gefunden Java Basics - Anfänger-Themen 2
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
E Compiler-Fehler Javac Windows vs Ubuntu /Script vs Konsole Java Basics - Anfänger-Themen 4
T Prog1Tools javac Java Basics - Anfänger-Themen 2
C Keine javac.exe in bin-Datei Java Basics - Anfänger-Themen 3
J Input/Output javac HelloWorld.java - Keine Textausgabe in der Konsole Java Basics - Anfänger-Themen 4
Ruschi JDK installieren javac wird nicht gefunden Java Basics - Anfänger-Themen 48
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
W JDK installieren Frage zu javac Java Basics - Anfänger-Themen 9
O Javac findet die .java datei nicht Java Basics - Anfänger-Themen 2
H javac.exe konnte nicht gefunden werden Java Basics - Anfänger-Themen 2
B javac Java Basics - Anfänger-Themen 9
D javac kann trotz PATH-Eintrag nicht gefunden werden (Hello World) Java Basics - Anfänger-Themen 10
O CMD Befehl javac Java Basics - Anfänger-Themen 3
V java Pfad javac Java Basics - Anfänger-Themen 8
R Compiler-Fehler javac -> "hauptklasse com.sun.tools.javac.main konnte nicht gefunden oder geladen werden" Java Basics - Anfänger-Themen 33
B JDK installieren Javac nicht gefunden oder... Java Basics - Anfänger-Themen 2
X javac file not found Java Basics - Anfänger-Themen 4
I Fehler: Hauptklasse com.sun.tools.javac.main konnte nicht gefunden werden Java Basics - Anfänger-Themen 3
J "javac" in der Eingabeaufforderung Java Basics - Anfänger-Themen 8
M Umgebungsvariable javac wird nicht gefunden Java Basics - Anfänger-Themen 4
K javac in der konsole Java Basics - Anfänger-Themen 4
F javac Schreibrecht Java Basics - Anfänger-Themen 58
P Umgebungsvariable javac wird nicht gefunden Java Basics - Anfänger-Themen 18
D javac zum Kompilieren von mehreren Dateien Java Basics - Anfänger-Themen 6
A Mit javac zweite Datei compilieren ohne Erste erneut zu compilieren? Java Basics - Anfänger-Themen 7
S javac Befehl Java Basics - Anfänger-Themen 7
F Mit javac Package compilieren Java Basics - Anfänger-Themen 3
P javac Verzeichnis Java Basics - Anfänger-Themen 2
J Mac OS X - javac - Compiler Probleme Java Basics - Anfänger-Themen 2
R Problem mit javac Java Basics - Anfänger-Themen 4
S javac - Rückgabewerte an die Shell Java Basics - Anfänger-Themen 10
A javac geht, java nicht ? Java Basics - Anfänger-Themen 20
B 2 Anfängerfragen zu JDK und javac Java Basics - Anfänger-Themen 4
B Java und Javac funktionieren nicht - bitte hilfe Java Basics - Anfänger-Themen 5
C javac, exec, -sourcepath, Umgebungsvariablen Java Basics - Anfänger-Themen 9
M Keine Ausgabe nach erfolgreichem Kompilieren (javac, ubuntu) Java Basics - Anfänger-Themen 10
C Testprogramm kann nicht compiliert werden - javac findet file nicht Java Basics - Anfänger-Themen 12
L Javac geht nicht Java Basics - Anfänger-Themen 17
rambozola Javac $1 Java Basics - Anfänger-Themen 3
A Javac - Der Horror! Java Basics - Anfänger-Themen 12
S Mein Computer kennt "javac" und "java" nicht mehr! Java Basics - Anfänger-Themen 6
K javac wird nich gefunden Java Basics - Anfänger-Themen 1
B Befehl "javac" wird nicht erkannt Java Basics - Anfänger-Themen 14
T Javac und Packages Java Basics - Anfänger-Themen 4
S Befehl "javac" funktioniert und Windows 7 nicht? Java Basics - Anfänger-Themen 3
1 Fallunterscheidung; ea.Kon in JCreator einfügen; CMD akzpetiert keine java, javac Java Basics - Anfänger-Themen 5
H windows 7 javac/path nicht gefunden Java Basics - Anfänger-Themen 3
M javac findet Oberklassedatei nicht Java Basics - Anfänger-Themen 7
Sebi javac probleme Java Basics - Anfänger-Themen 6
S javac Kompilierproblem Java Basics - Anfänger-Themen 17
P JAVA Compiler (Javac) Java Basics - Anfänger-Themen 4
S javac im CMD funktioniert nicht ? Java Basics - Anfänger-Themen 2
J jar, javac, ant funktioiniert nicht Java Basics - Anfänger-Themen 4
Bloodredangel [gelöst] Kompilieren von .java-Dateien per javac Java Basics - Anfänger-Themen 5
H javac - Eingabeaufforderung Problem Java Basics - Anfänger-Themen 12
J javac Probleme mal wieder Java Basics - Anfänger-Themen 6
A Änderung im Quellcode > javac > keine Änderung in Kons Java Basics - Anfänger-Themen 6
M 1.5er Klassen kompilieren mit 1.6er javac Java Basics - Anfänger-Themen 5
T JDK installiert aber der Befehl "javac" funktionie Java Basics - Anfänger-Themen 5
G javac funzt net Java Basics - Anfänger-Themen 3
K javac in Java-Datei aufrufen Java Basics - Anfänger-Themen 13
G javac starten Java Basics - Anfänger-Themen 5
S javac nicht ausführbar Java Basics - Anfänger-Themen 2
R fehlermeldung von javac bei buchbeispiel Java Basics - Anfänger-Themen 4
G javac wird nicht gefunden Java Basics - Anfänger-Themen 18
D javac und java schliesst immer wieder. ist das normal? Java Basics - Anfänger-Themen 16
H javac Befehl trotz Variablen einbindung ned gefunden Java Basics - Anfänger-Themen 23
G der Befehl "javac" wird nicht erkannt Java Basics - Anfänger-Themen 2
H javac mit meheren packages Java Basics - Anfänger-Themen 2
E jedit findet javac nicht Java Basics - Anfänger-Themen 64
M javac error Java Basics - Anfänger-Themen 7
S javac/javadoc Java Basics - Anfänger-Themen 11
K Javac *.java führt in dos-modus zu "Zugriff Verweigert& Java Basics - Anfänger-Themen 16
loadbrain javac -target 1.5, netbeans 5.5 Java Basics - Anfänger-Themen 13
B javac wird nicht gefunden Java Basics - Anfänger-Themen 8
L javac.exe Java Basics - Anfänger-Themen 3
megachucky Java.exe geht, aber Javac.exe nicht ? Java Basics - Anfänger-Themen 2
D Fehler beim kompilieren einer Java-Datei (javac) Java Basics - Anfänger-Themen 6
S einfaches script mit Eingabeaufforderung starten (javac) Java Basics - Anfänger-Themen 8
Q [javac] Zu blöd für -classpath? Java Basics - Anfänger-Themen 2
T javac und java richtig aufrufen Java Basics - Anfänger-Themen 11
G Befehl javac wird nicht gefunden Java Basics - Anfänger-Themen 8
B javac - error Java Basics - Anfänger-Themen 13
T Probleme mit javac in Eingabeaufforderung Java Basics - Anfänger-Themen 2
C Javac Java Basics - Anfänger-Themen 16
G Javac wird nicht gefunden Java Basics - Anfänger-Themen 9
B javac plötzlich unbekannt? Java Basics - Anfänger-Themen 12
W der befehl javac ist entweder falsch geschrieben. Java Basics - Anfänger-Themen 8
T Ausgabe von javac umleiten Java Basics - Anfänger-Themen 4
R Rekursiv kompilieren mit javac Java Basics - Anfänger-Themen 8
M Path zu javac nur für Administrator auf XP? Java Basics - Anfänger-Themen 2
A Ant Problem: Unable to find a javac compiler; Java Basics - Anfänger-Themen 4
C "javac" aendert Buchstaben ! Java Basics - Anfänger-Themen 8
G Java-1.5-Installation: warum kommt keine javac.exe mit? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben