Мой код принимает введенную пользователем строку и возвращает количество слов, а также первое слово.Когда пользователь вводит пустую строку, я не хочу, чтобы «В вашей строке было x слов» или «Первое слово - x», поэтому я создал boolean
, но boolean
не устанавливается в методеЯ попытался установить его на true
in. Любая помощь, которую я могу получить, почему или как это исправить, была бы великолепна.Спасибо!
public static void main(String[] args){
boolean empty = false;
Scanner in = new Scanner(System.in);
System.out.print("Enter a string: ");
String str = in.nextLine();
if (empty == false) {
System.out.println("Your string has " + getWordCount(str)+" words in it.");
System.out.println("The first word is: " + firstWord(str));
}
}
public static String firstWord(String input) {
for(int i = 0; i < input.length(); i++)
{
if(input.charAt(i) == ' ')
{
return input.substring(0, i);
}
}
return input;
}
public static int getWordCount(String str){
int count = 0;
if(str != null && str.length() == 0){
System.out.println("ERROR - string must not be empty.");
empty = true;
}
else if (!(" ".equals(str.substring(0, 1))) || !(" ".equals(str.substring(str.length() - 1)))){
for (int i = 0; i < str.length(); i++){
if (str.charAt(i) == ' '){
count++;
}
}
count = count + 1;
}
return count;
}
}