Я попытался найти ответ, подобный этому, прежде чем публиковать сообщения, поэтому, пожалуйста, поймите меня легко. Я работаю с Java уже около полутора недель. В следующем блоке кода я получаю сообщение об ошибке в отношении недостижимого оператора if в строке 20 и ошибки в отношении отсутствующего оператора возврата на 30. Я считаю, что могу просто установить его для возврата (0); для последней ошибки, но для первой проблемы я не могу понять это.Unreachable If Statement
class Droid {
int batteryLevel = 100; //created instance variable, batteryLevel
int hours; //created instance var, hours. val not set yet
public void activate() { //created activate method, string type return
System.out.println("Activated. Hello human. How can I help you?");
batteryLevel = batteryLevel - 5; //Set batteryLevel to decrease by 5
System.out.println("Battery level is " + batteryLevel + " percent.");
}
public int chargeBattery(){ //creat int method chargeBattery
System.out.println("Droid charging...");
batteryLevel = batteryLevel + hours; //setting up recharge for droid
return(0); //return 0 or return nothing?
if (batteryLevel > 100) { //If battery level is greater than 100
batteryLevel = 100; //battery level is 100
System.out.println("Your battery level is at " + batteryLevel + " percent");
return(0); //return 0 or return nothing?
}
else { //else, print out battery level
System.out.println("Your battery level is at " + batteryLevel + " percent");
}
}
public static void main(String [] args) { // Main method
}
}
Чтобы уточнить, ошибка возникает при объявлении аккумулятораLevel> 100. Спасибо. –
Вы возвращаетесь (0); перед выражением if в 'chargeBattery()', поэтому вы возвращаетесь из функции до того, как вы нажмете на оператор if – JackVanier