记录java执行中的一个错误细节

输入一段字符串,统计其中大写字母、小写字母、数字、空格和其它字符的个数。

程序代码:

复制代码
Scanner sc = new Scanner(System.in);
String next = sc.next();
int num_u=0,num_l=0,num_d=0,num_s=0,other=0;
for (int i = 0; i < next.length(); i++) {
    char c = next.charAt(i);
    if(Character.isUpperCase(c)){
        num_u++;
    } else if (Character.isLowerCase(c)) {
        num_l++;
    } else if (Character.isDigit(c)) {
        num_d++;

    } else if (Character.isSpaceChar(c)) {
        num_s++;
    }else{
        other++;
    }


}
System.out.printf("%d,%d,%d,%d,%d",num_u,num_l,num_d,num_s,other);

当输入this is a booK 998.时,发现输出错误。

原因是next()接收数据时,遇到空格结束。

修改:

复制代码
String next = sc.nextLine();

将next()改成nextLine()解决问题。

相关推荐
Brilliantwxx几秒前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim
雪的季节4 分钟前
Python 线程同步与异步编程 全解析
java·开发语言
吃饱了得干活16 分钟前
缓存与数据库一致性:从理论到实战
java·后端·面试
520拼好饭被践踏23 分钟前
JAVA+Agent学习day22
java·开发语言·后端·学习
笨蛋不要掉眼泪35 分钟前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质37 分钟前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端
冰暮流星40 分钟前
javascript之date对象
开发语言·javascript·ecmascript
花生了什么事o42 分钟前
DDD 分层架构:六层分层架构
java·架构·ddd
Y3815326621 小时前
3 种 SERP 数据处理方案对比:流式 / 批处理 / 缓存
java·spring·缓存
Wang's Blog1 小时前
Go-Zero项目开发17: IM私聊功能实现与消息存储设计
开发语言·后端·golang