java:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:利用whi

java:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,条件为输入的字符不为'\n'... java:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while语句,条件为输入的字符不为'\n'
展开
 我来答
旅初彤2B
2016-05-24 · TA获得超过2.6万个赞
知道大有可为答主
回答量:4.4万
采纳率:65%
帮助的人:5409万
展开全部
此题提示有问题,你输入完字符串,回车以后就完成输入,While循环判断条件应该是无论如何也要进入循环,\n应该是换行,所以提示有问题,我给你看一下我的代码:
import java.util.Scanner;

public class test{

public static void main(String[] args) {
/**wordCount是存储字母个数,spaceCount是存储空格个数,
numberCount是存储数字个数,otherCount存储其它字符个数,temp存放的是字符的ASCII码*/
int wordCount=0,spaceCount=0,numberCount=0,otherCount=0,i=0,temp;
System.out.print("请输入一个字符串:");
//输入字符串,不能使用new Scanner(System.in).next()这种输入方式,否则有问题
String str = new Scanner(System.in).nextLine();
while (1==1) {
//循环截取字符串,一个一个截取,然后将字符转换成ASCII码
temp = (int)str.substring(i, i+1).charAt(0);
i++;
//统计字母个数
if ((temp >= 65 && temp <= 90)||(temp >= 97 && temp <= 122)) {
wordCount++;
//统计数字个数
}else if(temp >= 48 && temp <= 57){
numberCount++;
//统计空格个数
}else if (temp == 32) {
spaceCount++;
//统计其它字符个数
}else{
otherCount++;
}
//当统计变量i等于字符串长度的时候跳出循环
if(i==str.length()){
break;
}
}
//输出统计结果
System.out.println("你刚才输入的字符串中,字母有"+wordCount+"个,"
+"空格有"+spaceCount+"个,数字有"+numberCount
+"个,其它字符有"+otherCount+"个。");
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式