2017-08-11所学随笔

今天在写昨天留下的数出输入的所有数字,英文,其他符号的问题时,解决了昨天留下的问题,

我又在在网上查了下nextline是只是在输入/r的时候才会认为输入结束了,但是实际上
我发现输入/r也并没有停止计数最后在api文档中看到了这样一句话”此扫描器执行当前行,
并返回跳过的输入信息。 此方法返回当前行的其余部分,不包括结尾处的行分隔符。
当前位置移至下一行的行首。因为此方法会继续在输入信息中查找行分隔符,所以如果
没有行分隔符,它可能会缓冲所有输入信息,并查找要跳过的行。”,
所以说我的理解是
只有你规定了行分隔符以后,这一行后面的字符他便不会扫描了,它会跳转到下一行去继续扫描
,所以以后在网上百度的时候还是要慎重,有的说的并不一定全对啊!另外把写的代码贴出来:
`package cn.licl.exercise4;

import java.util.Scanner;

/*
*输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
*字符由控制台输入。
*/
public class Count {
public static void main(String[]args){
//定义英文字符计数
int ecount = 0;
//定义数字字符计数
int ncount = 0;
//定义空格字符计数
int scount = 0;
//定义其他字符计数
int ocount = 0;
Scanner scanner = new Scanner(System.in);
System.out.println(“请输入你想统计的字符串:”);
/*
* String string = scanner.next();
*这是个坑啊!!!
*/
String string = scanner.nextLine();
//遍历每一个输入的字符
for(int i = 0;i < string.length();i++){
//判断如果此字符的ASCII码在65~90之间ecount自+1
if((string.charAt(i)>=65&&string.charAt(i)<=90||string.charAt(i)>=97&&string.charAt(i)<=122)){
ecount++;
}
//在48~57之间ncoun+1
else if((string.charAt(i)>=48&&string.charAt(i)<=57)){
ncount++;
}
//等于32的时候sconut+1
else if((string.charAt(i)==32)){
scount++;
}
//剩下的是ocount+1
else{
ocount++;
}

    }
    System.out.println("您输入的字母有"+ecount+"个,输入的数字有"+ncount+"个,输入的空格有"+scount+"个,输入的其他字符有"+ocount+"个。");
}

}`

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值