将数组中字符串的值传递给Java中的方法?
问题内容:
感谢您抽出时间来阅读。抱歉,如果我的问题很愚蠢,我尝试搜索,但无法完全弄清楚为什么出现此问题。我试图为另一个应用程序测试一些代码,但是遇到了问题。也许我只是不正确地理解数组。
我在名为Transpose的类中有一个名为halfStepUp的方法,出于测试目的,如果给定“ c”,则应返回“ c#”,如果给定“ d”,则应返回“
d#”。这是代码:
public class Transpose{
public static String halfStepUp(String note){
String n = null;
if (note == "c") n = "c#";
if (note == "d") n = "d"#;
return n;
}
}
我的主要方法中有以下代码:
String [] scale = new String[2];
scale[0] = "c";
scale[1] = "d";
System.out.println(Transpose.halfStepUp(scale[0]));
这将显示“ null”。我究竟做错了什么?我知道该方法有效,因为如果我使用
System.out.println(Transpose.halfStepUp("c"));
它工作正常。该解决方案可能非常尴尬,但是在寻求帮助时,我找不到找到措辞的好方法。再次感谢您的阅读,非常感谢您提供任何答案!
问题答案:
尝试以下方法:(从评论中编辑)
public class Transpose{
public static String halfStepUp(String note){
String n = null;
if ("c".equals(note)) n = "c#"; //using .equals as a string comparison
if ("d".equals(note)) n = "d#"; //not "d"#
return n;
}
}