2014-12-09 7 views
0

Задача:Как удалить последние две строки строки?

Запросить пользователя для строки и проверить, является ли оно множественным (заканчивается на «s» или «es»). Выведите единственную форму слова. Если пользователь вводит единственное слово, просто выводите слово.

Пример:

  • Введите множественное число слова (окончание в секундах или эс): Дома
  • болванка версия слова: Дом

Как я должен распечатать ворота слово, которое не имеет «es»?

Вот что я пытался до сих пор:

System.out.println("Input a plural word: "); 
String pluralWord = kb.nextLine(); 
if (pluralWord.substring(pluralWord.length()-2).equals("es") || pluralWord.substring(pluralWord.length()-2).equals("s")) 
    System.out.println("Singular version of the word:"+); 
+0

Посмотрите на API для String. Вы ищете методы, которые могут дать вам подстроки в пределах строки (возможно, начиная с конца), чтобы вы могли извлечь подстроку. Также посмотрите на endsWith(), что более уместно здесь, я думаю. – jdv

+0

Я знаю, как использовать .endsWith(), но как печатать слово? –

+0

Вы хотите создать новую уникальную строку, которая является подстрокой множественного числа. Ну, это один из способов. API - это широко открытая книга. Прочтите описания методов, и вы получите некоторые идеи. – jdv

ответ

0
System.out.println("Input a plural word: "); 
String pluralWord = kb.nextLine(); 

if(pluralWord.substring(pluralWord.length()-2).equals("es")){ 
    System.out.println("Singular version of the word:"+ pluralWord.substring(0, pluralWord.length()-2)); 
}else if(pluralWord.substring(pluralWord.length()-1).equals("s")){ 
    System.out.println("Singular version of the word:"+ pluralWord.substring(0, pluralWord.length()-1)); 
}else{ 
    System.out.println("Singular version of the word:"+ pluralWord); 
} 
+0

НЕТ, я не хочу, чтобы последние две буквы печатались. Я хочу, чтобы первые буквы печатались, –

+0

Если только подстрока() приняла более одного аргумента. Если только. – jdv

+0

@HyunseokSong извините, отредактированный ответ – Ellery

0

Вы можете использовать Format String Syntax с printf. Кроме того, String.endsWith(String), а затем substring(0, len - 2) и/или substring(0, len - 1) как

public static void main(String[] args) { 
    Scanner kb = new Scanner(System.in); 
    System.out.println("Input a word: "); 
    String pluralWord = kb.nextLine(); 
    if (pluralWord.endsWith("es")) { 
     System.out.printf("Plural %s, Singular %s%n", pluralWord, 
       pluralWord.substring(0, pluralWord.length() - 2)); 
    } else if (pluralWord.endsWith("s")) { 
     System.out.printf("Plural %s, Singular %s%n", pluralWord, 
       pluralWord.substring(0, pluralWord.length() - 1)); 
    } else { 
     System.out.printf("Singular %s%n", pluralWord);   
    } 
} 
0
System.out.println("Input a plural word: "); 
String pluralWord = kb.nextLine(); 


if(pluralWord.length() > 1 && plurpluralWord.substring(pluralWord.length()- 2).equals("es") { 
     System.out.println("Singular version of the word:"+ 
     pluralWord.substring(0 , pluralWord.length()-2)); 
}else if (pluralWord.length() > 0 && pluralWord.substring(pluralWord.length()- 1).equals("s")){ 
     System.out.println("Singular version of the word:"+ pluralWord.substring(0 , pluralWord.length()-1)); 
}else{ 
     System.out.println("Singular version of the word:"+ pluralWord); 
}