gpt4 book ai didi

Java .charAt(i) 比较问题

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:57 25 4
gpt4 key购买 nike

为什么在比较一个字符和另一个字符时,它也必须从字符串中获取?例如;

这行不通

   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 个例子那样做是 Not Acceptable 。如果是,为什么?

最佳答案

你很困惑

char zero = 0;

char zero = '0';

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

这种混淆是 C 的一个相当不幸的后遗症,char 变量被视为数字和字符。

关于Java .charAt(i) 比较问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4173918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com