Hirdetés

Új hozzászólás Aktív témák

  • axioma
    veterán

    Sziasztok!

    Írtam javában gyakorlásképp egy egyszerű számológép programot. Viszont csak úgy sikerült megoldanom, hogy egyszerre csak 2 számmal tud operálni. Kérdésem az lenne, hogy lehet megoldani, hogy egyszerre 3 vagy több számmal is tudjon számolni? Pl. egyszerre 3 szám szorzása, összeadása...

    Forráskód:

    package calculator;

    import java.util.Scanner;
    public class Calculator {

    public static void main(String[] args) {
    Scanner calc = new Scanner(System.in);
    System.out.println("Enter first number");
    double n1 = calc.nextInt();
    System.out.println("Enter second number");
    double n2 = calc.nextInt();

    System.out.println("Enter operation (* ; / ; + ; - ; ^ ; root");

    Scanner op = new Scanner(System.in);
    String operation = op.next();

    switch (operation) {
    case "+": System.out.println("Result: " +(n1+n2));
    break;
    case "-": System.out.println("Result: " + (n1-n2));
    break;
    case "/": System.out.println("Result: "+ (n1/n2));
    break;
    case "*": System.out.println("result: "+ (n1*n2));
    break;
    case "^": System.out.println("result: " +(Math.pow(n1, n2)));
    break;
    case "root": System.out.println("result: "+ (Math.pow(n1, 1 / n2)));

    }
    }

    }

    Ha eleg a butaszamologep mod (ld. windows, argh), ami NEM ismeri a precedenciat, akkor egyszeruen csinald ciklusban, szam, operator, szam, operator, es engedelyezd az = jelet az operatorok koze (akkor lepsz ki a ciklusbol amikor azt kapod). Minden egyes lepesben egy temp valtozodon alkalmazod az muveletet az uj szammal (elsore ta'rold be, hogy temp 0 es muvelet + volt az indulas elott). En ki is iratnam a reszeredmenyeket (a szam bekerese utan).

Új hozzászólás Aktív témák