【问题标题】:using array strings in an if statement在 if 语句中使用数组字符串
【发布时间】:2013-12-13 07:27:00
【问题描述】:

我正在尝试根据数组中是否存在字符串来确定如何将值添加到变量中。希望我的代码能更好地解释它:

//calculate bonus
String[] department = {"Dublin","London","London","Dublin","Paris","Paris"};
int [] brokerTotal =(79,35,55,101,63,108};

int[] bonus;
bonus=new int[6];

for(int i = 0;i < department.length; i++) {
    if (department ="Dublin") bonusRate=12;
    else if (department="London") bonusRate=15;
    else bonusRate=10;
    bonus[i] = ((brokerTotal[i])/100)*bonusRate;
}

if 语句在这里抓住了我,我在这里是关闭还是完全不合时宜?

【问题讨论】:

  • 您是比较 (==) 还是分配 (=)?另外,stackoverflow.com/questions/513832/…
  • 我想说如果部门是都柏林,那么奖金率为 12
  • 你是用 assignment 运算符还是 equality 运算符来做的?
  • 如果你正在学习 Java,你应该使用一些 IDE,来纠正你这样的基本错误。谷歌“Eclipse 下载”或“IntelliJ IDEA 社区下载”。两者均可免费使用。
  • 前几天我注意到类似问题下的评论说在 SO 上没有一天没有人在比较 Java 中的字符串时遇到问题 - 看起来很真实。

标签: java arrays if-statement int


【解决方案1】:
if (department="London")

应该是

if ("London".equals(department))

if(department ="Dublin") 语句也是如此

更多信息:

【讨论】:

  • 您可能希望使用它而不是其他答案建议的 '==' 运算符。 '==' 检查equals() 方法,对于字符串,该方法检查两个字符串在内存中的位置,看它们是否是完全相同的字符串。
  • 我知道== 运算符的作用。我相信 OP 想要比较内容而不是参考,所以我的回答是成立的。 :)
  • 抱歉,我并不是要更正您的答案中的任何内容,但实际上同意您的观点,并添加了他想要使用 equals 而无需单击链接的原因。
  • 酷。队友的欢呼声。 :)
  • 好吧,现在我知道该做什么了,有时它的简单逻辑吸引了我,因为我今年 9 月才开始编程。现在,作为奖励,我也知道“==”和".equals()"
【解决方案2】:

您正在使用赋值运算符 = 而不是相等 ==

【讨论】:

  • 对,这是一个常见的错误。但是== 也不起作用,所以这个答案有点误导。
  • 它将起作用,因为它不是与new String("Dublin") 相比,而是实习生。话虽如此,equals 是更好的选择。
【解决方案3】:
public static void main(String[] args) {

    String[] cars = { " Lamborghini Diablo", "Ford Raptor", "Ferrari Testarossa", "Porsche 911 Carrera",
            "Jensen Interceptor", "Lamborghini Huracán", "Ferrari 812 Superfast", "Jeep Gladiator" };

    for (int i = 0; i < cars.length; i++) {

        if ("Jensen Interceptor".equals(cars[i])) {

            System.out.println("Dump Car");
        }

        System.out.println("Master Piece");

    }

}

【讨论】:

  • 你不应该添加一点评论来解释你的答案吗?
  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2014-06-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 2018-08-09
相关资源
最近更新 更多