[ ZeRo8 @ 06.12.2004. 18:56 ] @
import java.math.*;
import java.io.*;

public class Matematika {
public static void main(String[] args) throws IOException {



BufferedReader eingabe = new BufferedReader ( new InputStreamReader ( System.in ) );

System.out.println("Geben Sie die erste Nummer ein:\t");
String unos = eingabe.readLine() ;
try {
int nummer1 = Integer.parseInt( unos );
}
catch ( NumberFormatException e) { System.out.println("ERROR " + e.getMessage()); }


System.out.println("Geben Sie die zweite Nummer ein:\t");
String unos1 = eingabe.readLine() ;
try {
double nummer2 = Integer.parseInt( unos1 );
}

catch (NumberFormatException e) { System.out.println("ERROR " + e.getMessage()); }

int sum = nummer1 + nummer2;
int sub = nummer1 - nummer2;
int mult = nummer1 * nummer2;
double durchschnitt = ((double) nummer1 + (double) nummer2)/2;
int abs = Math.abs(sub);

System.out.println("Zbir:\t" + sum + "\nRazlika:\t" + sub + "\nProizvod:\t" + mult + "\nProsek:\t" + durchschnitt +"\nApsolutna Vrednost:\t" + abs);

}
}




Odaziv kompajlera:

D:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Matematika.java:27: cannot find symbol
symbol : variable nummer1
location: class Matematika
int sum = nummer1 + nummer2;
^
D:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Matematika.java:27: cannot find symbol
symbol : variable nummer2
location: class Matematika
int sum = nummer1 + nummer2;
^
D:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Matematika.java:27: incompatible types
found : java.lang.String
required: int
int sum = nummer1 + nummer2;
^
D:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Matematika.java:28: cannot find symbol
symbol : variable nummer1
location: class Matematika
int sub = nummer1 - nummer2;
......
[ mucky @ 06.12.2004. 19:52 ] @
Probaj da deklaraciju promenljivih nummer1 i nummer2 obavis IZVAN
try-catch bloka?


--
Visit my photolog at http://www.fotolog.net/mucky
[ ZeRo8 @ 06.12.2004. 21:18 ] @
Ovo javlja kompajler:

D:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Matematika.java:30: variable nummer1 might not have been initialized
sum = nummer1 + nummer2;
^
D:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Matematika.java:30: variable nummer2 might not have been initialized
sum = nummer1 + nummer2;
^
2 errors

Tool completed with exit code 1



Code:



import java.math.*;
import java.io.*;

public class Matematika {
    public static void main(String[] args) throws IOException {


        int nummer1, nummer2;
        int sum, sub, mult, abs;
        double durchschnitt;

        BufferedReader eingabe = new BufferedReader ( new InputStreamReader ( System.in ) );

        System.out.println("Geben Sie die erste Nummer ein:\t");
        String unos = eingabe.readLine() ;
        try {
            nummer1 = Integer.parseInt( unos );
        }
        catch ( NumberFormatException e) { System.out.println("ERROR " + e.getMessage()); }


        System.out.println("Geben Sie die zweite Nummer ein:\t");
        String unos1 = eingabe.readLine() ;
        try {
            nummer2 = Integer.parseInt( unos1 );
        }

        catch (NumberFormatException e) { System.out.println("ERROR " + e.getMessage()); }

        sum = nummer1 + nummer2;
        sub = nummer1 - nummer2;
        mult = nummer1 * nummer2;
         durchschnitt = ((double) nummer1 + (double) nummer2)/2;
        abs = Math.abs(sub);

        System.out.println("Zbir:\t" + sum +  "\nRazlika:\t" + sub + "\nProizvod:\t" + mult + "\nProsek:\t" + durchschnitt +"\nApsolutna Vrednost:\t" + abs);

    }
}
[ iinmii @ 06.12.2004. 21:33 ] @
Inicijalizuj nummer1 i nummer2 na početku:

Code:

       int nummer1 = 0, nummer2 = 0;


Grešku ti javlja zato što nisi dodelio nikakvu vrednost nummer1 ili nummer2 u slučaju ako ti baci exception.
[ Dragan @ 06.12.2004. 21:35 ] @
Ako ti se desi exception, promenjive number1 ili number2 nece biti inicijalizovane. Kompajler to prepoznaje i buni se. Znaci i inicijalizacija tih promenjivih mora ici izvan try-catch bloka...Stavi recimo
Code:

number1=0;
number2=0;

ispred prvog try bloka...
[ filmil @ 07.12.2004. 09:24 ] @
Citat:
D:Dokumente und EinstellungenAdministratorEigene DateienMatematika.java:27: cannot find symbol
symbol : variable nummer1
location: class Matematika
int sum = nummer1 + nummer2;
nummer1 i nummer2 si deklarisao u okviru try/catch bloka, a koristiš ih izvan tog bloka. Svaka promenljiva  „živi“ samo u okviru najbližeg para zagrada ({ i }) u kojem je deklarisana.

Deklaracije (int nummer1 i int nummer2) pomeri na sam početak procedure i sve će biti u redu.

f
[ dorijan @ 09.12.2004. 02:05 ] @
vodi racuna samo da readLine uvek baca izuzetak
String unos1 = eingabe.readLine() ;
a ti si njegovu obradu samo odlozio sa throws IOException
Ovde to nije problem, ali ako budes readLine koristio u nekoj sopstvenoj metodi, svaki put je moras hvatati u try-catch blok
[ ZeRo8 @ 09.12.2004. 19:52 ] @
Hvala puno svima.