Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe als zweites eigendes Java-Programmchen versucht einen "Addierer" zu schreiben, der zwei Zahlen addiert.
Anschließend soll er den Satz "Addiert man die Zahlen 1 und 2 ergibt das 3" ausgeben soll.
Er gibt jedoch "Addiert man die Zahlen 1 und 2 ergibt das 12" aus.
Hier mein Quellcode:
Java:
// Dateiname: AdditionII.java
import javax.swing.*;
class AdditionII
{
public static void main ( String [] args )
{
String x = JOptionPane.showInputDialog( "Gebe eine Zahl für x ein" );
String y = JOptionPane.showInputDialog( "Gebe eine Zahl für y ein" );
String r = x+y;
System.out.println( "Addiert man die Zahlen " +x+ " und " +y+ " ergibt das " +r);
System.exit( 0 );
}
}
Was habe ich falsch gemacht? :rtfm:
Was muss ich wie verändern ?
Dein x und y sind Strings, also Zeichenketten.
Die Option "+" auf Zeichenketten ist was anders als das "+" auf Zahlen. (Konkatenation vs. Addition)
Du musst deine Strings in Integer umwandeln, dann kannst du das hinschreiben was du willst.
So wie ich das verstanden hab, müsste das so aussehen:
Java:
// Dateiname: AdditionII.java
import javax.swing.*;
class AdditionII
{
public static void main ( String [] args )
{
String x = JOptionPane.showInputDialog( "Gebe eine Zahl für x ein" );
String y = JOptionPane.showInputDialog( "Gebe eine Zahl für y ein" );
a = parseFloat( String x );
b = parseFloat( String y );
r = a+b;
System.out.println( "Addiert man die Zahlen " +x+ " und " +y+ " ergibt das " +r);
System.exit( 0 );
}
}
Ich bekomme jedoch von meinem Kompiler die Fehlermeldung: Syntax error on token "y", delete this token!
// Dateiname: AdditionII.java
import javax.swing.*;
class AdditionII
{
public static void main ( String [] args )
{
String x = JOptionPane.showInputDialog( "Gebe eine Zahl für x ein" );
String y = JOptionPane.showInputDialog( "Gebe eine Zahl für y ein" );
a = Float.parseFloat(x);
b = Float.parseFloat(y);
r = a+b;
System.out.println( "Addiert man die Zahlen " +x+ " und " +y+ " ergibt das " +r);
System.exit( 0 );
}
}
Fehlermeldungen:
1.) Line 10: a cannot be resolved
2.) Line 11: b cannot be resolved
3.) Line 12: r cannot be resolved
4.) Line 12: a cannot be resolved
5.) Line 12: b cannot be resolved
6.) Line 14: r cannot be resolved
Dummer Fehler...
Muss natürlich deklariert werden.
Hat so auszusehen:
Java:
// Dateiname: AdditionII.java
import javax.swing.*;
class AdditionII
{
public static void main ( String [] args )
{
String x = JOptionPane.showInputDialog( "Gebe eine Zahl für x ein" );
String y = JOptionPane.showInputDialog( "Gebe eine Zahl für y ein" );
float a;
float b;
float r;
a = Float.parseFloat(x);
b = Float.parseFloat(y);
r = a+b;
System.out.println( "Addiert man die Zahlen " +x+ " und " +y+ " ergibt das " +r);
System.exit( 0 );
}
}
Dem Compiler keinen Hinweis gegeben, was 'a' sein soll. (Leider erkennt er das Trotz des parseFloat nicht automatisch - Landei, jetzt bist du dran: ... )