그래서 난 내 프로그램이 오류가 발생했습니다 :Java가 내 변수가 초기화되지 않았다고 말하는 이유는 무엇입니까?
BankChargesWilson.java:55: error: variable checksCost might not have been initialized
System.out.println("Your total cost is " + money.format(checksCost) + ".");
^
1 error
하지만이있을 때 서식 개체가 생성 된 이유를 이해하지 않고 나는 checksCost 변수 이전 초기화.
개체와 내 정의를 강조합니다.
그리고 사용되는 곳에서 출력이 나와 오류가있는 부분이있는 else-if 문이 있습니다.
if (checksWritten < 20)
{
checksCost = checksWritten * 0.10;
}
else if (checksWritten >= 20 && checksWritten <= 39)
{
checksCost = checksWritten * 0.08;
}
else if (checksWritten >= 40 && checksWritten <= 59)
{
checksCost = checksWritten * 0.06;
}
else if (checksWritten >= 60)
{
checksCost = checksWritten * 0.04;
}
System.out.println("You entered that you wrote " + checksWritten + " checks this month.");
System.out.println("Your total cost is " + money.format(checksCost) + ".");
더 이상 초기화되지 않는다고 말하는 이유가 확실하지 않습니다.
질문 : checksCost가 내 if-else-if 루프의 범위에서만 보이고 있습니까? 그렇다면 위에 정의 된 이유는 무엇입니까?
'if/else' 블록이 하나도 실행되지 않으면 어떻게됩니까? –
당신의 구현에서 불가능하다는 것을 잊어 버리십시오, 컴파일러는 그것을 보장 할 수 없습니다. –