gpt4 book ai didi

java - 使用 for 循环查找数组中缺失的值

转载 作者:行者123 更新时间:2023-12-02 13:25:08 26 4
gpt4 key购买 nike

所以我试图创建一个 for 循环来搜索数组并返回找到的缺失值的数量。

这是我的方法:

    public void questionsMissed() {
int missedQuestions = 0;
for (int i = 0; i < 20; i++) {
if (answers[i] == null){
missedQuestions++;
}
}
System.out.println("You have missed " + missedQuestions + " questions.");
}

错误在于 if 语句所在的位置。我假设这是因为 null。我怎样才能找到缺失值?

错误:无法比较的类型:int 和

最佳答案

您收到错误是因为您尝试将基本数据类型 intnull 进行比较。只有引用类型可以与 null 进行比较。基本类型总是有一个值 - 它们不能为 null,因此编译器会告诉您比较没有意义。

有两种方法可以解决此问题:

  • answers 的类型切换为 Integer - 这样您就可以检查其值是否为 null,位于将原始整数包装到按引用包装器中的费用。
  • 您可以将一个整数值(例如 -1)指定为“缺失” - 这可以让您将 int 保留为 answer[] 的类型 的元素,但是有一个特殊的数字必须在程序中的任何地方使用。

由于您使用 char 值作为答案,因此我将使用第二种方法,但首先我会创建 answers CorrectAnswers 数组char。对于未使用的值,有一个方便的“特殊值” - 空字符 \0':

if (answers[i] == '\0') {
...
}

关于java - 使用 for 循环查找数组中缺失的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26764771/

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