У меня очень серьезный вопрос, возможно, я что-то пропустил по теории, не понимаю.
Я решил выводить ответ через переменную xy, объявив ее в самом начале и просто присваивая ей потом нужное значение из условий. НО компилятор не выполняет код, если переменная просто объявлена, пишет, что она не инициализирована, но ведь я присваиваю ей значение после, зачем мне это делать сейчас? Однако, если я сразу присваиваю ей какое-либо значение, то все работает, она принимает значение из условий.
Кто мне может объяснить, что я сделал не так при объявлении переменной?
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int x = scan.nextInt(), y = scan.nextInt();
boolean X = (x>0);
boolean Y = (y>0);
int xy = 1; // int xy; ??почему нельзя просто объявить переменную? ведь значение мы можем подставить после
if (X && Y)
xy = 1;
else if (!X && Y)
xy = 2;
else if (!X && !Y)
xy = 3;
else if (X && !Y)
xy = 4;
System.out.println(xy);
scan.close();
}
}