我的代码接受用户输入的字符串,并返回单词数和第一个单词。当用户输入一个空字符串时,我不想显示“您的字符串中包含x个单词”或“第一个单词是x”,因此我创建了boolean
,但是boolean
却没有在我尝试将其设置为true
的方法中进行设置。我能获得有关为什么或如何修复它的任何帮助都将非常有用。谢谢!
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;
}
}
答案 0 :(得分:0)
您必须在这里重新考虑自己的逻辑(请参见以下代码段):
empty
变量getWordCount
方法来知道“单词”是否为空并将结果存储在变量(wordCount
?)中。然后,您可以通过执行wordCount > 0
来检查是否至少有一个单词。摘要:
public static void main(String[] args){
// boolean empty = false; // --> not needed
Scanner in = new Scanner(System.in);
System.out.print("Enter a string: ");
String str = in.nextLine();
final int wordCount = getWordCount(str);
if (wordCount > 0) { // show message only if there is at least one word
System.out.println("Your string has " + wordCount +" words in it.");
System.out.println("The first word is: " + firstWord(str));
}
}
public static String firstWord(String input) {
// .. code omitted for brevity
}
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; --> not needed
}
// ... code omitted for brevity
return count;
}
答案 1 :(得分:0)
如果只是为了改变可见性,只需更改位置即可。
<div class="other-area">
<span>Other Amount</span>
<input type="number" name="otherAmount" value="$" class="other-input" />
</div>
答案 2 :(得分:0)
如果您真的想使用布尔值,请尝试使用字符串参数创建一个布尔方法,该方法仅在字符串不为空时才返回true,然后将布尔值返回类型分配给empty
布尔变量。