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的长度,只能小于,虽然编译能通过,但运行时会报数组下标越界的错误。
因为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();
*********************************************************
这样就好了
我的API文档里怎么没有nextchar()这方法呢?