Я хочу написать предложение, которое зависит от пола человека, вот что я мог бы сделать:Java формат строки состояния
String createSentence(String name, boolean isMale) {
return String.format(isMale ? "I met %s, he was OK." : "I met %s, she was OK.", name);
}
но вы уже видите неудачу в том, что (она работает, но код duplicit), я хочу что-то вроде:
String createSentence(String name, boolean isMale) {
return String.format("I met %s, %b?'he':'she' was OK.", name, isMale);
}
Этот код не работает, но что-то вроде этого возможно?
EDIT:
Поскольку я хочу много предложений, которые будут созданы, даже на разных языках, и они будут сохранены в какой-то или массив, таким образом, это решение является неудобным:
static String createSentence(String name, boolean isMale) {
return String.format("I met %s, "+(isMale?"he":"she")+" was OK.", name);
}
Что не работает? [Ваш пример отлично работает.] (Http://ideone.com/LXNdBd) – BackSlash
Ваш первый пример отлично подходит для меня. – Pshemo
Да, он * делает * работает, но он порождает двуличность – kajacx