gpt4 book ai didi

java - 如何测试用户的输入以查看其单词是否在指定范围内

转载 作者:行者123 更新时间:2023-12-01 06:49:42 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,要求用户输入他们希望在论文中出现的单词的最大值和最小值,然后输入论文。程序检查用户输入的字数是否在指定的范围内。有没有办法将我的代码变成方法?这是我的代码:

所需输出:

<小时/>
Please enter the maximum: 9

Please enter the minimum: 5

enter: hello there

2

YAY!!!!!!!!! YOU'RE WTHIN THE RAAAANGE!!!!!!!!!!!!!!!!!!!!!!!
<小时/>

这是我的代码:

<小时/>
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("\t\tPlease enter the maximum: ");
int max = input.nextInt();
System.out.print("\t\tPlease enter the minimum: ");
int min = input.nextInt();

System.out.print("enter: ");
String word = input.next();
int countwords = 0;

for (int i = 0; i < word.length(); i++) {
if (word.charAt(i) == ' ') {
countwords++;
}
}
countwords++;
System.out.println(countwords);
if(countwords<=max && countwords >=min){
System.out.println(
"YAY!!!!!!!!! YOU'RE WTHIN THE RAAAANGE!!!!!!!!!!!!!!!!!!!!!!!"
);
}
}

最佳答案

您的程序中有 2 个问题:

  1. 您可以通过 next() 获取输入文本而不是nextLine()这样你只能得到一个单词而不是整行。
  2. 您计算单词的方式不正确,因为您只计算空格,您应该使用类似 word.split("\\s+").length 的内容。相反,它会滑动 word 的内容使用一系列空白字符作为分隔符,然后获取长度以获得结果单词的总数。

所以只需更改此:

...
System.out.print("enter: ");
String word = input.nextLine();
int countwords = word.split("\\s+").length;

注意: hello there包含2单词和2不在 5 之间和9因此您不会收到这些输入的成功消息,请尝试使用 1 来代替和5例如。

关于java - 如何测试用户的输入以查看其单词是否在指定范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41239299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com