Перед тем, как разметить этот дубликат, пожалуйста, посмотрите на код, как это делается иначе, чем на другие вопросы, и я был бы признателен за исправление, связанное с этим кодом. Это в значительной степени калькулятор, который принимает два числа, и оператор затем печатает окончательное число (и, если применимо, остаток). Я получаю ошибки:Ошибка Java Calculator
The local variable num3 may not have been initialized
The local variable rem may not have been initialized
Вот код:
import java.util.Scanner;
public class JCalc {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
int num1;
int num2;
int num3;
int rem;
System.out.println("Welcome to JCalc! The best calculator ever!");
System.out.print("Please enter the first number: ");
num1 = myScanner.nextInt();
System.out.print("Please enter the second number: ");
num2 = myScanner.nextInt();
System.out.print("Please enter an operator (+, -, %, *): ");
String op = myScanner.next();
if (op == "+") {
num3 = num1 + num2;
}
if (op == "-") {
num3 = num1 - num2;
}
if (op == "%") {
num3 = num1 - num2;
rem = num1 % num2;
}
if (op == "*") {
num3 = num1 * num2;
}
System.out.print("The answer is: ");
System.out.print(num3); //error
if (op == "%") {
System.out.print(" with a remainder of ");
System.out.println(rem); //error
}
}
}
Последние 2 Кронштейны получили немного перепутались, когда я копировать вставить их (извините). Цените всю помощь, которую я могу получить!
@MadProgrammer Как это дубликат? Он не спрашивает о сравнении строк – hotforfeature
@abmitchell Да, я знаю, видел код сравнения «String» и вскочил на него, мой плохой. Но как только мы решаем вопрос, о котором его просто спрашивают, они тоже попадут в эту проблему: P – MadProgrammer