Zdravím,
potřeboval bych poradit, jak v jednoduché kalkulačce (využití maximálně cyklů a metod - začátečník) vytvořit metodu, která poslouží jako paměť.
Předem děkuji za všechny návrhy
Zatím mám tohle, nevím ale, co je špatně s metodou spocti( chci, aby po stisknutí 1-4 spustil danou metodu(soucet, soucin atd.) a vrátil výsledek) + deklaroval jsem globální proměnnou m ale nevím jak udělat metodu na ukládání
double m; public static double soucet(int a, int b,int c) { Scanner sn = new Scanner(System.in); System.out.println("Zadejte prvni cislo: "); a = sn.nextInt(); System.out.println("Zadejte druhe cislo: "); b = sn.nextInt(); c = a+b; return c; } public static double rozdil(int a, int b, int c) { Scanner sn = new Scanner(System.in); System.out.println("Zadejte prvni cislo: "); a = sn.nextInt(); System.out.println("Zadejte druhe cislo: "); b = sn.nextInt(); c = a-b; return c; } public static double soucin(int a, int b, int c) { Scanner sn = new Scanner(System.in); System.out.println("Zadejte prvni cislo: "); a = sn.nextInt(); System.out.println("Zadejte druhe cislo: "); b = sn.nextInt(); c = a*b; return c; } public static double podil(int a, int b, int c) { Scanner sn = new Scanner(System.in); System.out.println("Zadejte prvni cislo: "); a = sn.nextInt(); System.out.println("Zadejte druhe cislo: "); b = sn.nextInt(); c = a/b; if (b == 0) { System.out.println("Nulou nelze dělit."); return 0; } else { return (double) c; } }
public static double spocti(short i){ switch(i){ case '1': return soucet(a,b); case '2': return rozdil(a,b); case '3': return soucin(a,b); case '4': return podil(a,b); default: System.out.println("Tato moznost neexistuje!"); return 0; } }
public static void main(String[] args) { short i; Scanner sn = new Scanner(System.in); System.out.println("Vyberte operaci:"); System.out.println("Soucet - 1"); System.out.println("Rozdil - 2"); System.out.println("Soucin - 3"); System.out.println("Podil - 4"); i = sn.nextShort();
#9 B3G1NN3R
double m;
void vstupPam(double hodnota){
hodnota=m;
}
double vystupPam(){
return(m);
}
public static double soucet() {
Scanner sn = new Scanner(System.in);
double a, b;
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
return (double) (a + b);
}
public static double rozdil() {
Scanner sn = new Scanner(System.in);
double a, b;
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
return (double) (a - b);
}
public static double soucin() {
Scanner sn = new Scanner(System.in);
double a, b;
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
return (double) (a * b);
}
public static double podil() {
double a, b;
Scanner sn = new Scanner(System.in);
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
if (b == 0) {
System.out.println("Nulou, v nasi dimenzi, dělit nelze.");
return 0;
} else {
return (double) (a / b);
}
}
public static double spocti() {
Scanner sn = new Scanner(System.in);
System.out.println("Vyberte operaci:");
System.out.println("Soucet - 1");
System.out.println("Rozdil - 2");
System.out.println("Soucin - 3");
System.out.println("Podil - 4");
short i = sn.nextShort();
switch (i) {
case '1':
return soucet();
case '2':
return rozdil();
case '3':
return soucin();
case '4':
return podil();
default:
System.out.println("Tato moznost neexistuje!");
return 0;
}
}
public static void main(String[] args) {
spocti();
double vysledek = spocti();
System.out.println("Výsledek je: " + vysledek);
}
Toto jsem vymyslel a nefunguje to prosím pomoc
#11 liborb
Nefunguje mi metoda spocti, i když stisknu klávesy 1-4 napíše Tato možnost neexistuje a vyhodí výsledek je 0,00. A nevím jak volat metodu pamet, abych mohl uložit výsledek a pak ho dál použít.
double m;
void uloz(double hodnota){
m=hodnota;
}
double pamet(){
return(m);
}
public static double soucet() {
Scanner sn = new Scanner(System.in);
double a, b,c;
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
return c =(double) (a + b);
}
public static double rozdil() {
Scanner sn = new Scanner(System.in);
double a, b,c;
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
return c=(double) (a - b);
}
public static double soucin() {
Scanner sn = new Scanner(System.in);
double a, b,c;
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
return c=(double) (a * b);
}
public static double podil() {
double a, b,c;
Scanner sn = new Scanner(System.in);
System.out.println("Zadejte prvni cislo: ");
a = sn.nextDouble();
System.out.println("Zadejte druhe cislo: ");
b = sn.nextDouble();
if (b == 0) {
System.out.println("Nulou, v nasi dimenzi, dělit nelze.");
return 0;
} else {
return c=(double) (a / b);
}
}
public static double spocti() {
Scanner sn = new Scanner(System.in);
System.out.println("Vyberte operaci:");
System.out.println("Soucet - 1");
System.out.println("Rozdil - 2");
System.out.println("Soucin - 3");
System.out.println("Podil - 4");
short i = sn.nextShort();
switch (i) {
case '1':
return soucet();
case '2':
return rozdil();
case '3':
return soucin();
case '4':
return podil();
default:
System.out.println("Tato moznost neexistuje!");
return 0;
}
}
public static void main(String[] args) {
double vysledek = spocti();
System.out.println("Výsledek je: " + vysledek);
}
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku