Я хотел бы указать, что я очень новичок в Java, поэтому я могу делать глупые ошибки.Java: возвращает строку из метода
У меня есть класс под названием «Персонажи», который состоит из 4 переменных и нескольких методов. Все переменные являются частными, поэтому из того, что я прочитал, мне нужно использовать методы, чтобы что-то им делать.
Один из методов должен возвращать одну из переменных в строковой форме, однако я продолжаю получать ошибку как от затмения, так и при ее запуске. «Этот метод должен возвращать результат типа„String“Ошибка возникает на первой строке метода:.
public String displayStats(String option) {
switch (option) {
case "charName":
System.out.println(charName);
return charName;
case "charHealth":
System.out.println(charHealth);
String charHealth2 = Integer.toString(charHealth);
return charHealth2;
case "charMana":
System.out.println(charMana);
String charMana2 = Integer.toString(charMana);
return charMana2;
case "charStamina":
System.out.println(charStamina);
String charStamina2 = Integer.toString(charStamina);
return charStamina2;
default:
System.out.println("Error on default");}
}
}
Полный класс:
package basics;
public class Characters {
private String charName = "";
private int charHealth = 0;
private int charMana = 0;
private int charStamina = 0;
public void summoner(Characters player) {
player.charName = "Summoner";
player.charHealth = 80;
player.charMana = 150;
player.charStamina = 50;}
public void sentinel(Characters player) {
player.charName = "Sentinel";
player.charHealth = 200;
player.charMana = 50;
player.charStamina = 100;}
public void beserker(Characters player) {
player.charName = "Beserker";
player.charHealth = 100;
player.charMana = 0;
player.charStamina = 200;}
public void mage(Characters player) {
player.charName = "Mage";
player.charHealth = 80;
player.charMana = 200;
player.charStamina = 20;}
public String displayStats(String option) {
switch (option) {
case "charName":
System.out.println(charName);
return charName;
case "charHealth":
System.out.println(charHealth);
String charHealth2 = Integer.toString(charHealth);
return charHealth2;
case "charMana":
System.out.println(charMana);
String charMana2 = Integer.toString(charMana);
return charMana2;
case "charStamina":
System.out.println(charStamina);
String charStamina2 = Integer.toString(charStamina);
return charStamina2;
default:
System.out.println("Error on default");}
}
}
Как вы думаете, будет ли возвращен вызывающий абонент, если он попадет в этот случай по умолчанию? –
Как правило, вы должны ломаться от каждого оператора case и иметь один возврат из своего метода в конце. Несколько возвратов от одного метода считаются плохой практикой, так как это делает код труднее следовать –
Я думаю, что я мог бы слишком сосредоточиться на объявлении метода. Спасибо. – BaphOfWonder