java:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 程序分析:利用whi
java:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while语句,条件为输入的字符不为'\n'...
java:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while语句,条件为输入的字符不为'\n' 展开
程序分析:利用while语句,条件为输入的字符不为'\n' 展开
1个回答
展开全部
此题提示有问题,你输入完字符串,回车以后就完成输入,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+"个。");
}
}
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+"个。");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询