Возможно ли как то упростить код метода:
public String say() {
if(i<=0) return name +" спит.";
else {
StringBuilder sb = new StringBuilder();
for (int j = 0; j < i; j++) {
sb.append("я");
}
return name + " говорит м"+sb+"у!";
}
}
До типа такого:
public String say() {
return i<=0?name+" спит.":name + " говорит м"+'я'*i+"у!";
}
Я понимаю, что 'я'*i не правильно. Это образный пример.
Ответ
Вот так, без лишних методов и повторов переменных.
public String sayOrSleep(int i, String name) {
return name + ((i<=0) ? " спит." : " говорит м"+
String.format("%0" + i + "d", 0).replace("0","я")+"у!");
}
Зачем писать костыль, когда уже все написано до Вас для подобных случаев :)
Комментариев нет:
Отправить комментарий