Variablen NumberFormatException

Furtano

Mitglied
Hallo,
ich bin Umsteiger (von C) und versuche einen kleinen Taschenrechner zu programmieren.
Als Parameter übergebe ich z.B. 3 * 3
Er funktioniert, nur bei *-Rechnen kommt die Meldung:

Exception in thread "main" java.lang.NumberFormatException: For input string: ".project"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Float.parseFloat(Unknown Source)
at uebung2.uebung2.main(uebung2.java:49)

Java:
package uebung2;

public class uebung2 {

	public static int checkArgs(String[] parameter, int numberOfArguments)
	{
		
		// Fehlerueberpruefung
		if (parameter.length > numberOfArguments){
			System.err.println("Zu viele Argumente!");
			return -1;
		}
		
		if (parameter.length < numberOfArguments){
			System.err.println("Zu wenig Argumente!");
			return -2;
		}
		
		return 0;
	}
	
	public static float add (float z1, float z2){
		
		return z1 + z2;
	}

	public static float subtract (float z1, float z2){
		
		return z1 - z2;
	}

	public static float multiplicate (float z1, float z2){
		
		return z1 * z2;
	}
	
	public static float divide (float z1, float z2){
		if (z2 == 0){
			System.err.println("Division durch 0!");
		}
		return z1 / z2;
	}
	
	public static void main (String[] args){
		
		//if (checkArgs(args, 3) == 0){
			
			float z1 = Float.parseFloat(args[0]);
			float z2 = Float.parseFloat(args[2]);
			
			char operant =  args[1].charAt(0);
			float ergebnis = 0;
			int fehlerOperant = 0;
			
			switch (operant){
			
				case '+': ergebnis = add(z1, z2); break;
				case '-': ergebnis = subtract(z1, z2); break;
				case '*': ergebnis = multiplicate(z1, z2); break;
				case '/': ergebnis = divide(z1, z2); break;
				
				default: fehlerOperant = 1; System.err.println("Falscher Operant!");
			
			}
			
			if (fehlerOperant == 0){
				if (Float.isInfinite(ergebnis)){
					System.err.println("Ergebnis unendlich");
				}
				System.out.println(z1 + "" + operant + "" + z2 + " = " + ergebnis);
			}
			
			
			
			
		//}
		
	}
}
 
Zuletzt bearbeitet:

Der Müde Joe

Top Contributor
Naja. Sagt dir ja den Fehler:

>For input string: ".project"

arg[0] oder [2] ist kein Float. Oder: Der String ".project" ist kein Float...
Zeile 49...dürfte 2 sein. (evlt.. 2.2 vs 2,2 Komma oder Punkt)


Gibt doch einfach mal alles aus:
System.out.println(arg[0]) etc.
 

Furtano

Mitglied
Ich verstehe immer noch nicht wo der Fehler liegen soll.

args[1] ist z.B. merkwürdigerweise mit ".classpath" gefüllt
 
Zuletzt bearbeitet:

Der Müde Joe

Top Contributor
Irgend wo ist ".project" ein Argument....

Mach mal sowas:
Java:
public static void main(String[] args) {
	for (String string : args) {
		System.out.println(string);
	}
}

Dann siehts du was.
Mit 3 * 3 werden es 3 Zeilen sein..
 

Der Müde Joe

Top Contributor
Trotzdem ne Wildcard in der ...wie man das Ding auch unter Win nennt..hehe

EDIT:
>escapen mit / funktioniert nicht

falsche richtung:

\

Sorry. War zu langsam...

Hmm.. Na jetzt müsste man ein Win7 zur Hand haben...
Double escape vielleicht \\* ...da kann ich die grad auch net helfen
 
Zuletzt bearbeitet:

Furtano

Mitglied
mit 3 \* 3 kommt:
3
\$Recycle.Bin
\.rnd
\autoexec.bat
\chris movies 2
\Config.Msi
\config.sys
\cygwin
\Datenbank_mysql_und_php.pdf
\deutsche-telekom-root-ca-2.der
\Dokumente und Einstellungen
\Downloads
\dsp_doppel_farbe.pdf
\ed9e5f44e39c91804b39838edb57
\ftp
\guitar pro
\hiberfil.sys
\Intel
\IO.SYS
\MSDOS.SYS
\MSOCache
\pagefile.sys
\PerfLogs
\Program Files
\ProgramData
\Programme
\Recovery
\repo
\SoftUpdateLog.txt
\System Volume Information
\ubuntu-10.04.2-desktop-i386.iso
\Uni
\Users
\Windows
\work
\xampp
3
 

Furtano

Mitglied
geht auch nicht :(
3
.classpath
.project
bin
doc
src
3


mit ^escapen geht auch nicht, das kommt raus

3
^*
3

obwohl, dann bräucht ich ja jetzt nur noch das ^ Zeichen wieder raus machen :))
 
Zuletzt bearbeitet:

Der Müde Joe

Top Contributor
Wenistens kommt das "richtige" Argument rein....Auch wenn mit Escape Character..
Jetzt wirds eklig.
Bei Linux wird mit \ escaped und da kommt der net mit
Vielleicht sowas:

Java:
boolean isMultiplication = "^*".equals(input) || "*".equals(input);
 

Der Müde Joe

Top Contributor
Hat eigentlich nicht mit Java zu tun, sondern eher mit der Shell. Jede Shell hat halt seine eigenheit. So würde die bash $BLUB als Variable sehen und durch den Wert ersetzten.

zB
x@x:/main/development/devprivate/ws/zzzz/bin$ java XX 3 $JAVA_HOME 3
3
/usr/lib/jvm/java-6-sun
3
false
9.0
 
Zuletzt bearbeitet:
Ä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
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
S NumberFormatException Java Basics - Anfänger-Themen 13
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