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

相关推荐
罗超驿30 分钟前
22.深入剖析JDBC架构:从原生API到企业级数据交互核心
java·数据库·mysql·面试
桀人32 分钟前
C++——模板初阶(收录在专栏C++入门到精通)
开发语言·c++
一直有一个ac的梦想39 分钟前
cmu15445 2025fall lec 18 transactions with two-phase lock
java·开发语言·数据库
九皇叔叔40 分钟前
Spring-Ai-Alibaba [04] 04-llm-platform-custom-demo
java·人工智能·spring
技术路上的探险家42 分钟前
Sa-Token 单点登录(SSO)三种模式大白话详解:告别重复登录
java·sa-token·单点登录·sso
JAVA社区1 小时前
Java进阶全套教程(四)—— SpringMVC框架详解
java·开发语言·spring·面试·职场和发展
ㄣ知冷煖★1 小时前
统一网关架构实践:从 Token 鉴权到路由、策略与凭证池转发全链路解析
java·服务器·架构
Lumbrologist1 小时前
【C++】零基础入门 · 第 2 节:变量、基本数据类型与输入输出
java·开发语言·c++
GISer_Jing1 小时前
Three.JS渲染架构解读
java·javascript·架构
绝知此事1 小时前
Netty实战:从零构建高性能TCP通信服务(含心跳检测)
java·网络·spring boot·网络协议·tcp/ip