NumberFormatException

Status
Nicht offen für weitere Antworten.

senox

Mitglied
Guten Morgen,
ich habe hier eine alte Prüfungsaufgabe und einige Fragen dazu.

1.) das parseInt wandelt ja einen String in einen Int um, sofern nur zahlen da sind, aber was passiert mit der der Angabe 'base'?

2.) ich weiß, dass die NumberFormatException vorkommt, wenn eine falsches Format vorliegt, aber wieso passiert es bei mir?
Java:
Exception in thread "main" java.lang.NumberFormatException: For input string: "40"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at aufg2_25082008.EaseConvert2.main(EaseConvert2.java:10)

//-----------------------------------------


Java:
public class EaseConvert2 
{
	public static void main(String args[])
	{
		int i, base=0;
		for(base=10; base >= 2; --base)
		{
			i = Integer.parseInt("40",base);
			System.out.println("40 base " +  base + " = " + i);
		}
	}
}

Ich hoffe ihr koennt mir helfen, bin echt am verzweifeln, vielen vielen Dank im voraus fuer eure bemuehungen

lg senox
 

senox

Mitglied
danke fuer deine schnelle hilfe, aber wirklich weiter bin ich nicht.
Wie erkennt denn das System,ob die Zahl angegeben werden kann, oder nicht? und was genau hat es mit der Basis auf sich?
Hat es mit der Basis das Binäre/Oktale/Dezimale/Hexale-System auf sich, und es darf "kein" rest vorkommen?

40 base 10 = 40
40 base 9 = 36
40 base 8 = 32
40 base 7 = 28
40 base 6 = 24
40 base 5 = 20

bis dahin geht er runter, dann kommt die exception
 
Zuletzt bearbeitet:

tfa

Top Contributor
Binäre/Oktale/Dezimale/Hexale-System
Das ist richtig.
Die Exception kommt, weil es im 4er-System die Ziffer 4 nicht gibt, also "40" eine illegale Darstellung ist.
Ebenso gibt es im Dezimalsystem ja auch keine Ziffer für 10.
 

Der Müde Joe

Top Contributor
>und wieso geht es dann nicht weiter, wenn ich (40,3) oder (40,2) mache?

Wenn eine Exception fliegt (throws) , welche nicht gefangen wird (catch) ist schluss mit lustig. Bei RunntimeException ist dies meist der Fall.
 

senox

Mitglied
ok, danke dir, denke ich habe es verstanden und hoffe nun, dass ich das nicht lernen muss, also die ganzen Systeme...
Binär, oktal, hexa un dezimal ist mir vertraut, der rest nicht

gruss senox
 

senox

Mitglied
>und wieso geht es dann nicht weiter, wenn ich (40,3) oder (40,2) mache?

Wenn eine Exception fliegt (throws) , welche nicht gefangen wird (catch) ist schluss mit lustig. Bei RunntimeException ist dies meist der Fall.

ich habe mit einer if-abfrage die exception abgefangen und nach 5 gibt er immer nur noch die exception aus.
 

Der Müde Joe

Top Contributor
>einer if-abfrage die exception abgefangen

Hä?

mit if kann man keine Exceptions fangen. Dies geht nur mit einem try { ... } catch(Exception e) { ... } Block.
 

senox

Mitglied
nicht hae,
und ob man die "abfangen" kann, ist zwar keine regulaere abfang methode, aber sie nuetzt auch was, wenn man programmiert, muss man auch um Ecken denken koennen:

Java:
if(base != 4)
{
            i = Integer.parseInt("40",base);
            System.out.println("40 base " +  base + " = " + i);
}
 

Painii

Bekanntes Mitglied
nicht hae,
und ob man die "abfangen" kann, ist zwar keine regulaere abfang methode, aber sie nuetzt auch was, wenn man programmiert, muss man auch um Ecken denken koennen:

Java:
if(base != 4)
{
            i = Integer.parseInt("40",base);
            System.out.println("40 base " +  base + " = " + i);
}

Wenn dann richtig->
Java:
if(base>4){

}
Du kannst ja die 4 in allen System mit basis>4 darstellen, alle darunter können das nicht
Mit base!=4 würdest du es ja trotzdem in basis 2,3 versuchen

edit: Das ist kein abfangen, das ist verhindern einer Exception :pueh:
 

Der Müde Joe

Top Contributor
>muss man auch um Ecken denken koennen:

ok. solange du einen fixen String "40" convertierst und dürfte dies wohl kaum ein Thema sein. Irgendwann willst du vielleicht auch x in das y System umwandeln. Da wäre dein if nicht mehr so trivial. Ein try--catch währe hingegen immer noch gleich stabil...Passts nicht, fliegt sie.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P parseInt -> "202103122000" -> NumberFormatException Java Basics - Anfänger-Themen 14
C NumberFormatException: null ohne Ausnahmebehandlung stoppen Java Basics - Anfänger-Themen 7
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
K Datentypen NumberFormatException Java Basics - Anfänger-Themen 7
Dogge NumberFormatException null Java Basics - Anfänger-Themen 5
O NumberFormatException Java Basics - Anfänger-Themen 2
D NumberFormatException Java Basics - Anfänger-Themen 13
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
D Interpreter-Fehler NumberFormatException Textfeld Java Basics - Anfänger-Themen 24
Furtano Variablen NumberFormatException Java Basics - Anfänger-Themen 14
N NumberFormatException, aber wieso? Java Basics - Anfänger-Themen 5
J Problem mit NumberFormatException Java Basics - Anfänger-Themen 6
M NumberFormatException Chat WordPress Java Basics - Anfänger-Themen 13
C NumberFormatException-Problem Java Basics - Anfänger-Themen 6
StupidAttack NumberFormatException Java Basics - Anfänger-Themen 19
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
M BMI-Rechner NumberFormatException Java Basics - Anfänger-Themen 30
S NumberFormatException , mit Try/Catch? Java Basics - Anfänger-Themen 7
B NumberFormatException: For input string: "" Java Basics - Anfänger-Themen 4
K Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 1
R Warum NumberFormatException? Java Basics - Anfänger-Themen 4
M Abfangen von java.lang.NumberFormatException Java Basics - Anfänger-Themen 6
J Double.parseDouble(s) wirft keine NumberFormatException Java Basics - Anfänger-Themen 12
G NumberFormatException bei double und long Java Basics - Anfänger-Themen 11
M for-Schleife mit NumberFormatException Java Basics - Anfänger-Themen 15
A NumberFormatException Java Basics - Anfänger-Themen 7
B komische NumberFormatException beim DezimalToBinär-Rechner Java Basics - Anfänger-Themen 4
B NumberFormatException Java Basics - Anfänger-Themen 5
F 2 numberformatexception abfangen? Java Basics - Anfänger-Themen 20
S java.lang.NumberFormatException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben