Dzięki za kod, wygląda na prawdę ! Wspaniale :) Pozwoliłem sobie co nieco zmienić, jednak dalej powstają pytania...
Tutaj jest kod :
KLASA MAIN
package Calculator_aplication.AplikacjaOkienkowa;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner odczyt = new Scanner(System.in);
DzialaniaMatematyczne noweDzialanie = new DzialaniaMatematyczne();
String wybor;
do {
System.out.println();
System.out.println("***Wybierz Mądrze***");
System.out.println("Dodawanie - 1");
System.out.println("Odejmowanie - 2");
System.out.println("Mnożenie - 3");
System.out.println("Zakoncz program - wyjscie");
wybor = odczyt.nextLine();
switch (wybor) {
case "1":
noweDzialanie.dodawanie();
break;
case "wyjscie":
System.out.println("Do zobaczenia !");
break;
default:
System.out.println("Dokonales zlej opcji");
}
} while (!wybor.equals("wyjscie"));
odczyt.close();
}
}
KLASA MATEMATYKA
package Calculator_aplication.AplikacjaOkienkowa;
import java.util.Scanner;
public class DzialaniaMatematyczne {
Scanner liczby = new Scanner(System.in);
String dod_wartosc1, dod_wartosc2;
String exit = "cofnij";
Integer wynik, a, b;
public void dodawanie() {
do {
wynik = 0;
System.out.println("Podaj pierwszą wartość");
dod_wartosc1 = liczby.nextLine();
System.out.println("Dodaj drugą wartość");
dod_wartosc2 = liczby.nextLine();
try {
a = Integer.parseInt(dod_wartosc1.replace(" ", ""));
b = Integer.parseInt(dod_wartosc2.replace(" ", ""));
wynik = a + b;
} catch (NumberFormatException e) {
if (dod_wartosc1.equalsIgnoreCase(exit)) {
break; //System.out.println("Powrót do menu wyborów");
} else {
System.out.println("Blad dozwolony format: Liczby całkowite.");
}
} catch (NullPointerException puste) {
if (dod_wartosc1.isEmpty() && dod_wartosc2.isEmpty()) {
System.out.println("Wartości nie mogą być puste");
}
}
System.out.println("Wynik to: " + wynik);
System.out.println("");
} while (!dod_wartosc1.equalsIgnoreCase(exit) && (!dod_wartosc2.equalsIgnoreCase(exit)));
}
public double odejmowanie(double x, double y) {
return x - y;
}
public double mnozenie(int a, int b) {
return a * b;
}
}
A tutaj są pytania :
- po wpisaniu cofnij, i tak muszę podać drugą wartość, czyli wystarczy kliknąć enter aby program cofnął się do menu, problem jest wtedy gdy wpiszemy cofnij, a w drugiej wartości damy Stringa lub inta - wówczas, oczywiście program cofnie do menu, jednak że nie wyświetli komunikatu - Powrót do menu.
-- Jak zrobić - aby po wpisaniu "cofnij" gdziekolwiek czy to wartość 1, czy to wartość 2, program natychmiast zakończył obecne działanie i "się" cofnął do menu wyborów. Co rozwiąże problem z brakiem wiadomości, gdy podamy w drugiej wartości jakąś liczbę bądź Stringa.(patrz wyżej)
Wydaje mi się że w ifie gdzie jest break; (zresztą jest nawet syso) z informacją o powrocie. No ale żeby mieć break i zarazem informację to chyba kolejny if muszę zrobić. A to już nie będzie eleganckie
Więcej pytań nie pamiętam, jak tylko sobie przypomnę napiszę w odpowiedzi :)