有呀
你是说执行一次就没放映了吧,那是你程序执行完就退出了,
要想多次执行就把代码放到while循环中 while(true){
int abcCount = 0;// 英文字母个数
int spaceCount = 0;// 空格键个数
int numCount = 0;// 数字个数
int otherCount = 0;// 其他字符个数
String str = scan.nextLine();
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
if (Character.isLetter(ch[i])) {
// 判断是否字母
abcCount++;
} else if (Character.isDigit(ch[i])) {
// 判断是否数字
numCount++;
} else if (Character.isSpaceChar(ch[i])) {
// 判断是否空格键
spaceCount++;
} else {
// 以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母个数:" + abcCount);
System.out.println("数字个数:" + numCount);
System.out.println("空格个数:" + spaceCount);
System.out.println("其他字符个数:" + otherCount);
}
你是说执行一次就没放映了吧,那是你程序执行完就退出了,
要想多次执行就把代码放到while循环中 while(true){
int abcCount = 0;// 英文字母个数
int spaceCount = 0;// 空格键个数
int numCount = 0;// 数字个数
int otherCount = 0;// 其他字符个数
String str = scan.nextLine();
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
if (Character.isLetter(ch[i])) {
// 判断是否字母
abcCount++;
} else if (Character.isDigit(ch[i])) {
// 判断是否数字
numCount++;
} else if (Character.isSpaceChar(ch[i])) {
// 判断是否空格键
spaceCount++;
} else {
// 以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母个数:" + abcCount);
System.out.println("数字个数:" + numCount);
System.out.println("空格个数:" + spaceCount);
System.out.println("其他字符个数:" + otherCount);
}
如果你的代码,没有右键 -> Run As -> Java Application
每次直接点击运行,那都是前一次的程序,不会执行你想要的Excise03
检查下,是否是这种情况呢
String str=scan.nextLine();
需要输入的,输入后就能看到打印的结果了或者 给
Scanner scan=new Scanner(System.in);
String str=scan.nextLine(); 添加Scanner scan=new Scanner(System.in);
System.out.println("please input");
String str=scan.nextLine();
提醒输入
nextLinepublic String nextLine()
此扫描器执行当前行,并返回跳过的输入信息。 此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。
因为此方法会继续在输入信息中查找行分隔符,所以如果没有行分隔符,它可能会缓冲所有输入信息,并查找要跳过的行。返回:
跳过的行
抛出:
NoSuchElementException - 如果未找到这样的行
IllegalStateException - 如果此扫描器已关闭api中关于nextLine()方法的解释,如果你是在cmd中运行可以使用ctrl+z结束输入,在eclipse中我不知道怎么结束.