使用IF语句控制return语句?

问题描述

|
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并打印出未找到任何内容。     

解决方法

您在这里有两个独立的问题: 您应该使用
equals()
方法(或其中一种)比较字符串-否则,您要比较两个字符串是否是相同的引用(实例)而不是等效的字符序列。 您应该避免使用
==
比较双打,因为双打的相等性更加细微。查看本文以获取更多有关原因的信息。 看到这个问题,为什么在Java中使用ѭ2进行浮点比较是个坏主意。 除此之外,我还要提到的是,您的实现假设
stuName
stuGpa
都是相同长度的数组。情况可能并非如此……并且可能值得在开始遍历数组之前进行断言。     ,在Java中,字符串必须与.equals进行比较,而不是==。
if(stuName[i].equals (nameKey) && stuGpa[i] == gpaKey)
    ,你可能想要
if (stuName[i].equals(nameKey) && stuGpa[i].equals(gpaKey))
    ,
if(stuName[i] == nameKey
不太可能是正确的,您正在比较对象标识而不是字符串内容。试试
if(stuName[i].equals(nameKey)
    ,您正在比较两个字符串。 字符串是不可变的。 请使用\“ equalsIgnoreCase()\”或\“ equals()\”比较字符串 在这里查看示例 http://www.java-samples.com/showtutorial.php?tutorialid=224     ,一个基本问题是
stuName[i] == nameKey
仅比较对象在内存中是否为相同的String对象。 您实际上想使用ѭ11来比较实际的字符串值。 并且您可能想使用
.equalsIgnoreCase
来区分大小写。     ,以下对于if语句是正确的。 stuName [i]是一个字符串,因此请与.equals进行比较。 stuGpa [i]是双精度型,因此请使用==。
if(stuName[i].equals(nameKey_ && stuGpa[i] == gpaKey)
    ,您的问题不是条件if语句,而是条件运算符
==
==
指向对象的指针值,as16ѭ方法将返回该对象所计算的内容。 就像大家之前说过的,在下一行中将
==
切换为
.equals
public static int seqSearch(int numRecords,String[] stuName,double[] stuGpa,String nameKey,double gpaKey)

    for(int i = 0; i < numRecords; i++)
       if(stuName[i].equals(nameKey) && stuGpa[i] == gpaKey)
          return i;
    return -1;
    ,要实际回答有关if语句控制的问题... 我相信您正在做的事与多重return语句没关系,但是... 对于我的方法,我个人更喜欢一个入口点和一个出口点。对于我有多个出口点,我总是感到很脏。 因此,我将考虑以下代码:
public static int seqSearch(int numRecords,double gpaKey)

    int value = -1;

    for(int i = 0; i < numRecords; i++) {  // Don\'t forget your braces,they aren\'t required,but wait until you add a newline and forget to add them...
       if(some.boolean().equals(comparison.here())) {
          value = i;
          break;
       }
    }
    return value;
}
祝你好运。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...