gpt4 book ai didi

java - 使用IF语句来控制return语句?

转载 作者:行者123 更新时间:2023-12-01 19:18:16 24 4
gpt4 key购买 nike

public static int seqSearch(int numRecords, String[] stuName,
double[] stuGpa, String nameKey, double gpaKey)

for(int i = 0; i < numRecords; i++)
if(stuName[i] == nameKey && stuGpa[i] == gpaKey)
return i;
return -1;

那么,我该如何使用 if 语句来控制它呢?我正在进行顺序搜索,以查找是否在数组中找到了该名称,以及是否在数组中找到了 gpa,那么它应该返回在 (i) 中找到的位置。但是,它所做的只是返回 -1 并打印出没有找到任何内容。

最佳答案

您这里有两个独立的问题:

  1. 您应该使用equals()方法(或其同类方法之一)来比较字符串 - 否则您将比较两个字符串是否是相同的引用(实例)而不是等效的字符序列。
  2. 您应该避免使用 == 比较 double ,因为 double 的相等性更加微妙。查看 this paper了解有关原因的更多信息。

参见this question为什么在 Java 中使用 == 进行浮点比较是一个坏主意。

除此之外,我还想提一下,您的实现假设 stuNamestuGpa 都是相同长度的数组。情况很可能并非如此……并且在开始迭代数组之前可能值得断言。

关于java - 使用IF语句来控制return语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5641143/

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