记录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()解决问题。

相关推荐
亦暖筑序2 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏3 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev4 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还20 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩20 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia21 小时前
Mybatis的日志输入
java
亦暖筑序1 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户298698530141 天前
Java 实现 Word 文档加密与权限解除
java·后端
Yeats_Liao1 天前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿1 天前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试