我自己写的JAVA小程序,统计字符串中的大写字母,小写字母,数字,其他出现的次数!提示找不到符号

importjava.util.*;publicclassEx_12{publicstaticvoidmain(String[]args){intletter=0;int... import java.util.*;
public class Ex_12
{
public static void main(String[] args)
{
int letter=0;
int Letter=0;
int digit=0;
int other=0;
Scanner Input= new Scanner(System.in);
System.out.println("请输入字符串的长度:");
int a=Input.nextInt();
char ch[]=new char[a];
for(int i=0;i<=ch.length;i++)
{
System.out.println("请输入元素ch["+i+"]的值:" );
ch[i]=Input.nextchar();
}
for(int i=0;i<=ch.length;i++)
{
if(ch[i]>='a' && ch[i] <='z')
letter++;
else if(ch[i]>='A' && ch[i]<='Z')
Letter++;
else if(ch[i]>='0' && ch[i]<='9')
digit++;
else
other++ ;
}
System.out.println("letter=:"+letter);
System.out.println("Letter=:"+Letter);
System.out.println("digit=:"+digit);
System.out.println("other=:"+other);
}

}
展开
 我来答
saminigod
2012-10-02 · TA获得超过503个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:115万
展开全部
Scanner类中无nextChar()方法,无法一个字符一个字符的获取,但next()允许获取一个字符串,可以定义一个字符串保存输入,代码如下,
Scanner Input = new Scanner(System.in);
System.out.println("请输入字符串:");
String ch= Input.next();
因为ch为String类型,相应的后面for循环也要略作修改如下,
for (int i = 0; i < ch.length(); i++) {
if (ch.charAt(i) >= 'a' && ch.charAt(i) <= 'z') {
letter++;
} else if (ch.charAt(i) >= 'A' && ch.charAt(i) <= 'Z') {
Letter++;
} else if (ch.charAt(i) >= '0' && ch.charAt(i) <= '9') {
digit++;
} else {
other++;
}
}
另外你的代码这一句for(int i=0;i<=ch.length;i++)有个小错误,i不能小于等于ch的长度,只能小于,虽然编译能通过,但运行时会报数组下标越界的错误。
追问
if (ch.charAt(i) >= 'a' && ch.charAt(i) <= 'z')这句中的At是什么意思?
追答
At不是单独的,charAt是一个整体,charAt()是String类里的一个方法,作用是获取一个字符串第 i 个索引处的字符(char)值,你看一下Java API里的java.lang.String 这个类就知道了
百度网友55a4422
2012-10-02 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:113万
展开全部
因为SCANNER类中没有nextChar()函数,你直接用next接受一个字符串就好
把你的
***********************************************************
Scanner Input= new Scanner(System.in);
System.out.println("请输入字符串的长度:");
int a=Input.nextInt();
char ch[]=new char[a];
for(int i=0;i<=ch.length;i++)
{
System.out.println("请输入元素ch["+i+"]的值:" );
ch[i]=Input.nextchar();
}
*******************************************************************
这一部分改成
*********************************************************
Scanner Input = new Scanner(System.in);
System.out.println("请输入字符串");
String ch= Input.next();
*********************************************************
这样就好了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-10-02
展开全部
我的API文档里怎么没有nextchar()这方法呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式