Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?
「変数は初期化されていない可能性があります」というエラーについて
public class Example {
// [OK] aに値が入っているのでエラーにならない。
public int example01() {
int a;
a = 1;
return a;
}
// [NG] aに値が入っていないのでエラーになる。
public int example02() {
int a;
return a;
}
// [NG] aに値が入らない場合があり得るのでエラーになる。
public int example03() {
double x = Math.random(); // xに0以上1未満の実数が入る。
int a;
if (x < 0.5) {
a = 1;
}
return a;
}
// [OK] aに値が入るのが確実なのでエラーにならない。
public int example04() {
double x = Math.random(); // xに0以上1未満の実数が入る。
int a;
if (x < 0.5) {
a = 1;
} else {
a = 2;
}
return a;
}
// [NG] aに値が入るのが確実だが、コンパイラが判断できないのでエラーになる。
public int example05() {
double x = Math.random(); // xに0以上1未満の実数が入る。
int a;
if (x < 0.5) {
a = 1;
} else if (0.5 <= x) {
a = 2;
}
return a;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment