gpt4 book ai didi

java - 如何计算用户输入中的字符、字母、空格

转载 作者:行者123 更新时间:2023-12-02 03:06:08 24 4
gpt4 key购买 nike

我在将用户输入字符串转换为字符数组时遇到问题。每当我将字符串转换为字符数组时,它只显示第一个单词。当我用一些文本初始化字符串时,此代码成功运行,但我使用扫描仪获取输入,此代码不起作用。基本上我想计算用户输入中的字母、字符、空格和其他内容。

public static void main(String[] args)

{
Scanner scan=new Scanner(System.in);

System.out.println("Enter the string");
String s=scan.next();
count(s);

}
public static void count(String x)
{
int letter=0,digit=0,spaces=0,other=0;
char[] c=x.toCharArray();

for(int i=0;i<x.length();i++)
{
if(Character.isLetter(c[i]))
{
letter ++;
}
else if(Character.isDigit(c[i]))
{
digit ++;
}
else if(Character.isSpaceChar(c[i]))
{
spaces ++;
}
else
{
other ++;
}
}
System.out.println(" the total letter is "+ letter);
System.out.println(" the total digits is "+ digit);
System.out.println(" the total spaces is "+ spaces);
System.out.println("other is "+ other);
}

}

最佳答案

如果您的目的是查找字母和数字等的数量,则不必将字符串转换为字符数组。您只需在循环输入字符串时将输入字符串的每个字符转换为字符。下面我将重写您的 count 函数:

 public static void count(String x)
{
int letter=0,digit=0,spaces=0,other=0;

for(int i=0;i<x.length();i++)
{
if(Character.isLetter(x.charAt(i)))
{
letter ++;
}
else if(Character.isDigit(x.charAt(i)))
{
digit ++;
}
else if(Character.isSpaceChar(c[i]))
{
spaces ++;
}
else
{
other ++;
}
}
System.out.println(" the total letter is "+ letter);
System.out.println(" the total digits is "+ digit);
System.out.println(" the total spaces is "+ spaces);
System.out.println("other is "+ other);

}

关于java - 如何计算用户输入中的字符、字母、空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57022512/

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