加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java .charAt(i)比较问题

发布时间:2020-12-15 02:05:55 所属栏目:Java 来源:网络整理
导读:为什么在将char与另一个char进行比较时,还必须从字符串中获取?例如; 这不起作用 while(i t.length() zeroCount 5) { if(t.charAt(i) == 0){ zeroCount++; } i++; } 这也不是 char zero = 0; while(i t.length() zeroCount 5) { if(t.charAt(i) == zero){ ze
为什么在将char与另一个char进行比较时,还必须从字符串中获取?例如;

这不起作用

while(i < t.length() && zeroCount < 5) {
        if(t.charAt(i) == 0){
            zeroCount++;
        }
        i++;
    }

这也不是

char zero = 0;

      while(i < t.length() && zeroCount < 5) {
            if(t.charAt(i) == zero){
                zeroCount++;
            }
            i++;
        }

我设法让它运作的唯一方法就是这样……

String zeros = "0000000000";

      while(i < t.length() && zeroCount < 5) {
            if(t.charAt(i) == zeros.charAt(i)){
                zeroCount++;
            }
            i++;
        }

任何人都可以解释我是否做错了什么,或者像前2个例子那样做是不可接受的.如果是这样,为什么?

解决方法

你很困惑

char zero = 0;

char zero = '0';

前者是空字符(ASCII值为零),而后者是表示数字零的字符.

这种混乱是C的一个相当不幸的遗留问题,char变量被视为数字和字符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读