2017-02-14 48 views
3

У меня вопрос Java, который задан для строки, возвращает строку из первых двух символов, поэтому строка «Hello» дает «He». Если строка короче длины 2, верните все, что есть, поэтому «X» дает «X», а пустая строка «» выводит пустую строку «». Обратите внимание, что str.length() возвращает длину строки.Извлечь первые два символа строки в Java

public String firstTwo(String str) {   

if(str.length()<2){ 
    return str; 
} 
else{ 
    return str.substring(0,2); 
} 

}

мне интересно, есть ли другой способ может решить этот вопрос?

+0

В чем проблема с существующим кодом? Думаю, если бы вы почувствовали необходимость сделать это oneliner 'return str.length()> 2? str.substring (0,2): str; 'но я не чувствую, что это действительно что-то добавляет. – CollinD

+0

appriciate красота простоты ... не пытайтесь сделать код сложным, когда простое решение работает хорошо. –

+0

@ DanLowe-фиксированный. – RobG

ответ

13

Ваш код выглядит великолепно! Если вы хотите сделать это короче, вы можете использовать ternary operator:

public String firstTwo(String str) { 
    return str.length() < 2 ? str : str.substring(0, 2); 
} 
+0

THX много помогает –

 Смежные вопросы

  • Нет связанных вопросов^_^