Изначально я столкнулся с проблемой, что IDEA в этом коде выдавало ошибку, из-за того, что переменная f в 8 строке не инициализирована.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
double glass = 0.5;
Scanner con= new Scanner(System.in);
boolean a=con.nextBoolean();
int f;
if (a) {
f= (int) Math.ceil(glass);
}
else if (!a) {
f= (int) Math.floor(glass);
}
System.out.print(f);
}
}
Когда я присвоил f значение 0 (int f=0), то все стало работать нормально. С эти я разобрался.
Но, в дальнейшем, я в 13 строке заменил else if на просто else, при этом так и оставит f неинициализированной. И код тоже работал.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
double glass = 0.5;
Scanner con= new Scanner(System.in);
boolean a=con.nextBoolean();
int f;
if (a) {
f= (int) Math.ceil(glass);
}
else {
f= (int) Math.floor(glass);
}
System.out.print(f);
}
}
Объясните, пожалуйста, почему в первом случае int f не инициализировался, а во втором все прошло нормально.