Problem z prostym skryptem

0

Witam,

Mam problem z skryptem na "kalkulator". Jestem początkującym i staram się napisać coś prostego na początek.
Problem polega na tym, że mój skrypt się kompiluje i wszystko działa OK, ale kiedy wpisuję komendę na znak dodawania
wyskakuj mi komunikat o tym, że to jest nie znana komenda. Zupełnie, jakby w tym momencie wyłączał się mój program.

Tutaj załączam skrypt:

import java.util.Scanner;

class Kulkur2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

              System.out.print("Podaj pierwsza cyfre");
              int First = scanner.nextInt();

              System.out.print("Podaj Druga Cyfre");
              int Second = scanner.nextInt();
              
              System.out.println("Jakie chcesz wykonać działanie? (plus2,minus,mnoz,dziel) ");
              String Last = scanner.nextLine();
            	 
             if(Last.equals("plus2")){
            	 int Wynik = First + Second;
             }else if(Last.equals("minus")){
            	 int Wynik = First - Second;
             }else if (Last.equals("mnoz")){
            	 int Wynik = First * Second;
             }else if (Last.equals("dziel")){
            	 int Wynik = First / Second;
             }
    }
              
              
              }

Proszę o pomoc, ponieważ kompilator nie wiele mi teraz pomoże. :-(

0

zamias metody nextLine() użyj next() (poczytaj w docs czym się róznią). poza tym wynik i tak Ci sie nie wyświetli poniewać nie masz żadnego System.outprintln(). Po co za każdym razem w każdym if'ie tworzysz zmienną Wynik jak możesz zainicjować ją przed instrukcją warunkową. Następna sprawa to używanie intigera do dzielenia. Nie lepiej będzie to wyglądało przy użyciu float'a ?

1

Ehh... to twoje boskie formatowanie.
Zmienną wynik powinieneś wyprowadzić poza ifa, gdyż takowy powinien decydować tylko o operacji.

import java.util.*;
import java.lang.*;
 
class Main {
    public static void main (String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Podaj pierwsza liczbe");
        int First = in.nextInt();
        
        System.out.println("Podaj druga liczbe");
        int Second = in.nextInt();
        
        System.out.println("Jakie chcesz wykonac dzialanie? (dodaj, odejmij, pomnoz, podziel): ");
        String Command = in.next();
        int Result = 0;
        
        if(Command.equals("dodaj")) {
            Result = First + Second;
        } else if(Command.equals("odejmij")) {
            Result = First - Second;
        } else if(Command.equals("pomnoz")) {
            Result = First * Second;
        } else if(Command.equals("podziel")) {
            Result = First / Second;
        }
        System.out.println(Result);
    }
}
0

Dziękuję, a co do braku System.out.print na końcu, to po prostu tymczasowo tego nie wpisywałem. Jeszcze takie pytanie. Co było powodem błędu. To, że nie stworzyłem wcześniej zmiennej Wynik, czy to, że nie dałem na końcu drukowania wyniku?

1 użytkowników online, w tym zalogowanych: 0, gości: 1