Kalkulator w java obiektowo

Odpowiedz Nowy wątek
2011-10-12 20:31
BOBY
0

Witam mam kod do kalkulatora obiektowego lecz coś nie działa. Proszę o pomoc

int a, b;
                    System.out.println("Podaj dwie liczby do zsumowania");
                    a = in.nextInt();
                    b = in.nextInt();

                    int wynik = suma(a,b);

                    System.out.format("Suma liczb wynosi "+wynik);

Sory tu jest kod

import java.util.Scanner;

import java.io.IOException;
public class iii {

        public static int menu(){

        System.out.println("1. dodawanie");
        System.out.println("2. odejmowanie");
        System.out.println("3. mnozenie");
        System.out.println("4. dzielenie");

        Scanner in = new Scanner(System.in);
        int w = in.nextInt();

        return w;
    }

    public static void main(String[] args) throws IOException  {
  Scanner in = new Scanner(System.in);

   int wybor = menu();

   while(wybor!=0){
            switch(wybor){
                case 1:
                    dodawanie(int a, double b);
                    break;
                case 2:
                    odejmowanie(int a, double b);
                    break;
                case 3:
                    mnozenie(int a, double b);
                    break;
                case 4:
                    dzielenie(int a, double b);
                    break;
                default:
                    System.out.println("Podales zla liczbe");

            }
        }
    }
    public static int suma(int a, int b){
        int a, b;
                    System.out.println("Podaj dwie liczby do zsumowania");
                    a = in.nextInt();
                    b = in.nextInt();
                    System.out.format("Suma liczb wynosi "+a+b);
    }
  public static int odejmowanie(int a, int b){
        int a, b;
                    System.out.println("Podaj dwie liczby do odejmowania");
                    a = in.nextInt();
                    b = in.nextInt();
                    System.out.format("Suma liczb wynosi "+a-b);
   }

 public static int mnozenie(int a, int b){
      int a, b;
                    System.out.println("Podaj dwie liczby do mnozenia");
                    a = in.nextInt();
                    b = in.nextInt();
                     System.out.format("Suma liczb wynosi "+a*b);
}

 public static int dzielenie(int a, int b){
       int a, b;
                    System.out.println("Podaj dwie liczby do dzielenia");
                    a = in.nextInt();
                    b = in.nextInt();
                    System.out.format("Suma liczb wynosi "+a/b);
 }

}
edytowany 1x, ostatnio: madmike, 2016-12-13 18:26
Ten kod, to z obiektowością wiele wspólnego niestety nie ma. - airborn 2011-10-12 22:27

Pozostało 580 znaków

2011-10-12 22:39
BOBY
0

NO chodzi mi o to żeby działało to na metodach na razie. Później chciałbym się zająć obiektowym wykonaniem.

Pozostało 580 znaków

2011-10-13 00:47
0

CO nie dziala ?!

Pozostało 580 znaków

2011-10-13 01:15
0
  1. Raz ze ten kod w ogóle nie korzysta z obiektowości. Jest żywym przykładem na programowanie proceduralne w Javie ;]
  2. Za kombinacje klawiszy ctrl+c i ctrl+v powinien ci eksplodować komputer. Jakbyś miał 100 działań to też być tak zrobił czy bys jednak pomyślal?
  3. a/b na intach zapewne nie zwróci ci takiego wyniku jakiego byś się spodziewał...
  4. Tego scannera rozumiem ze tworzysz w losowych miejscach "z dupy" licząc że a nuż zadziała?
  5. Jak wywołujesz funkcję to masz do niej podać parametry więc nie żadne
    dodawanie(int a, double b);
    //a
    dodawanie(a,b);

    gdzie a i b są zmiennymi widzianymi w danym zakresie. Rozumiem ze chciałeś napisać coś takiego:

    
    import java.util.Scanner;

import java.io.IOException;
public class iii {

    public static int menu(){

    System.out.println("1. dodawanie");
    System.out.println("2. odejmowanie");
    System.out.println("3. mnozenie");
    System.out.println("4. dzielenie");

    Scanner in = new Scanner(System.in);
    int w = in.nextInt();

    return w;
}

public static void main(String[] args) throws IOException  {
  Scanner in = new Scanner(System.in);
  int wybor = menu();

while(wybor!=0){
int a, b;
System.out.println("Podaj dwie liczby");
a = in.nextInt();
b = in.nextInt();
switch(wybor){
case 1:
dodawanie(a,b);
break;
case 2:
odejmowanie(a,b);
break;
case 3:
mnozenie(a,b);
break;
case 4:
dzielenie(a,b);
break;
default:
System.out.println("Podales zla liczbe");
}
}
}
public static int suma(int a, int b){
System.out.format("Suma liczb wynosi "+(a+b));
}
public static int odejmowanie(int a, int b){
System.out.format("Roznica liczb wynosi "+(a-b));
}

public static int mnozenie(int a, int b){
System.out.format("Iloczyn liczb wynosi "+(a*b));
}

public static int dzielenie(int a, int b){
System.out.format("Iloraz liczb wynosi "+((double)a/b)); //radziłbym sprawdzać czy b nie jest 0...
}
}


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
edytowany 1x, ostatnio: Shalom, 2011-10-13 01:16

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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