Cześć,
Potrzebuje drobnej pomocy przy nauce, mógłby mi ktoś podpowiedzieć w którym miejscu popełniłem błąd, Eclipse nie pokazuje błędów w składni?
Chodzi oto że przy kompilacji wpisuje liczbę następnie wybieram znak z klawiatury który jest przypisany do działania i od razu pokazuje mi się else z końca kodu, który powinien pokazywać jak wpisze inny znak niż w if-ie.
Czy ta składnia kodu jest w miarę czytelna?
public class CalculatorSwitch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Podaj pierwszą liczbę: ");
double numberone = sc.nextDouble();
System.out.println("Podaj jakie działanie ma wykonać: ");
System.out.println("+ dodawanie\n"
+ "- odejmowanie\n"
+ "* mnożenie\n"
+ "/ dzielenie \n"
+ "% dzielenie z resztą\n"
+ "^ potęga\n"
+ "V - pierwiastek kwadratowy z liczby pierwszej");
String operation=sc.next();
if(operation == "+" ||
operation == "-" ||
operation == "*" ||
operation == "/" ||
operation == "%" ||
operation == "^" ||
operation == "V" ) {
System.out.println("Podaj drugą liczbę: ");
double numbertwo=sc.nextDouble();
switch(operation) {
case "+":
System.out.println(numberone +" + "+ numbertwo + " = "+ (numberone + numbertwo));
break;
case "-":
System.out.println(numberone +" - "+ numbertwo + " = "+ (numberone - numbertwo));
break;
case "*":
System.out.println(numberone +" * "+ numbertwo + " = "+ (numberone * numbertwo));
break;
case "/":
if(numbertwo >0 ) {
double score =numberone / numbertwo;
System.out.printf(numberone +" / "+ numbertwo + " = "+Math.floor(score));
break;
} else System.out.println("Nie dzielimy przez 0!!!");
break;
case "%":
if(numbertwo >0 ) {
double score2 =numberone / numbertwo;
System.out.printf(numberone +" / "+ numbertwo + " = "+Math.floor(score2));
break;
} else System.out.printf(" reszta: " +(numberone % numbertwo));
break;
case "^":
System.out.println(numberone +" ^ "+ numbertwo + " = "+ (Math.pow(numberone, numberone)));
break;
case "V":
System.out.println(numberone + " = "+ (Math.sqrt(numberone)));
break;
}
}else System.out.println("Błędny znak został wpisany");
}
}