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

相关推荐
1-1=01 小时前
C# 委托与事件
开发语言·c#
Fuyo_11191 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
w_zero_one2 小时前
递归算法(一)
java·开发语言·算法
SL_staff2 小时前
私有化低代码不是减配版开发:JVS双模式建模如何重建IT交付信任
java·低代码·spring cloud
墨着染霜华2 小时前
Redocly 生成 OpenAPI 接口文档踩坑实录|Node 版本兼容 + 接口地址错误问题解决
java
文丑颜不良啊3 小时前
LeetCode1881~1990题目解析
java·leetcode
Julien20043 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
Chen_harmony3 小时前
七、STL与string类
开发语言·c++
沐晓时光3 小时前
C语言入门,字符串和字符串函数知识讲解
c语言·开发语言
xxxiugou1233 小时前
C++命名空间与引用全解析
开发语言·c++