输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数JAVA!

cui4029 2008-05-18 02:39:23
//【程序7】
//题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
//1.程序分析:利用while语句,条件为输入的字符不为'\n'.
//一下是我自己写的程序,有错误,请问这样写的思路对吗?可以改吗?
package test;

public class test7CountNumber {
public String string;
public int i = 0;
public int blank = 0;
public int character = 0;
public int number = 0;
public test7CountNumber(String string) {
this.string = string;
}
public static void main(String[] args) {
test7CountNumber t = new test7CountNumber("asdfefg 1234");
t.unit(t.string);

}
public void unit(String string) {

while(string.length() != '\n') {
if((int)string.charAt(i) == 32){
blank++;
} else if ((int)string.charAt(i) >= 65 && (int)string.charAt(i) <=

122) {
character++;
} else if ((int)string.charAt(i) >= 0 && (int)string.charAt(i) <= 9)

{
number++;
}
i++;
}
System.out.println(blank);
System.out.println(character);
System.out.println(number);
}
}
...全文
1956 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xql80329 2008-05-19
  • 打赏
  • 举报
回复
问题解答了 ! 给分吧
neurobot 2008-05-19
  • 打赏
  • 举报
回复
你的代码和题意有些偏离
题目要求:输出每行输入中字母、数字、空格的个数;你的代码没有达到要求

//Scanner in = new Scanner(System.in);
//String input = in.nextLine();
等很多方式可以,实现读取一行字符串

你结合二楼说的,应该可以实现:-)
key_hua 2008-05-19
  • 打赏
  • 举报
回复
重贴2L代码 去掉些错误

public void unit(String s)
{
char c;
int sum=0;
int letters=0,space=0,digital=0,other=0;
for(int i=0;i <s.length();i++)
{
c=s.charAt(i);
if((c>='a'&&c <='z')||(c>='A'&&c <='Z'))
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c <='9')
digital++;
else
other++;
}
sum=letters+space+digital+other;
System.out.println("一共有"+sum+"个字符, "+"英文字母有" + letters +
"个,空格有"+space + "个,数字有" + digital + ", 其他字符有" + other+"个.");
}
key_hua 2008-05-19
  • 打赏
  • 举报
回复
给2楼的排个版
还有LZ自己情况都没考虑完啊....注意是四种情况

public static void addUpChar(String s)
{
char c;
int sum=0;
int letters=0,space=0,digital=0,other=0;
for(int i=0;i <s.length();i++){
c=s.charAt(i);
if((c>='a'&&c <='z') ¦ ¦(c>='A'&&c <='Z'))
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c <='9')
digital++;
else
other++;
}
sum=letters+space+digital+other;

System.out.println("一共有"+sum+"个字符, "+"英文字母有" + letters + "个,空格有"+space + "个,数字有" + digital + ", 其他字符有" + other+"个.");
sunnysin 2008-05-19
  • 打赏
  • 举报
回复
//界定字符串,您可以通过其他方式获得,如函数穿参或屏幕直接录入
String s = "99dd_88sss_@ @@ $$$## ff44ddd";
//界定数字规则
String digit = "[0-9]";
//界定字符规则,注:未考虑中文
String alpha = "[a-z,A-Z]";
//界定空格
String blank = " ";
//得到数字长度
int dlength = s.length() - s.replaceAll(digit, "").length();
//得到字符长度
int alength = s.length() - s.replaceAll(alpha, "").length();
//得到空格长度
int blength = s.length() - s.replaceAll(blank, "").length();
//得到其他字符长度
int olength = s.length() - dlength - alength - blength;
//输出来看结果
System.out.println(s.length()+" = "+dlength+" + "+alength+" + "+blength+" + "+olength);

输出的结果是:
29 = 6 + 10 + 3 + 10

以上代码仅供大家参考,如需实际应用,请联系QQ152850325.或Email:sunnysin@126.com
  • 打赏
  • 举报
回复
while( string.charAt(i)!= '\n') {
if((int)string.charAt(i) == 32){
blank++;
} else if ((int)string.charAt(i) >= 65 && (int)string.charAt(i) <=

122) {
character++;
} else if ((int)string.charAt(i) >= 0 && (int)string.charAt(i) <= 9)

{
number++;
}
i++;
if(i==string.length())
break;

}
apples_009 2008-05-18
  • 打赏
  • 举报
回复
public static void addUpChar(String s)
{
char c;
int sum=0;
int letters=0,space=0,digital=0,other=0;
for(int i=0;i<s.length();i++){
c=s.charAt(i);
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digital++;
else
other++;
}
sum=letters+space+digital+other;

System.out.println("一共有"+sum+"个字符, "+"英文字母有" + letters + "个,空格有"+space + "个,数字有" + digital + ", 其他字符有" + other+"个.");
jdlsfl 2008-05-18
  • 打赏
  • 举报
回复
    public void unit(String string)
{
for (int i = 0; i < string.length(); i++)
{
if ((int) string.charAt(i) == 32)
{
blank++;
}
else if ((int) string.charAt(i) >= 65
&& (int) string.charAt(i) <= 122)
{
character++;
}
else if ((int) string.charAt(i) >= 48
&& (int) string.charAt(i) <= 57)
{
number++;
}

}
System.out.println(blank);
System.out.println(character);
System.out.println(number);
}

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧