永远不要运行`if`,总是`else`

时间:2013-09-02 02:13:52

标签: java eclipse if-statement

出于某种原因,我的(基本)程序总是打印我为else语句保留的文本。 对于Java来说,我是一个新手,所以如果我犯了一个明显的错误,我会道歉。我也搜索了高低的答案,但找不到答案。你能看看这个:

package test;

import java.util.Scanner;

public class tutorial_7 {

    private static Scanner x;

        public static void main(String args []) {
            x = new Scanner(System.in);

            System.out.print("Apples, or oranges: ");
            String bog = x.next();

            if (bog == "Apples") {
                System.out.print(1);
            }
            if (bog == "Oranges") {
                System.out.print(2);
            }
            else {
                System.out.print(3);
            }
        }
    }
}

为什么保留为if语句保留的文本永远不会输出?一切似乎都很好。

此致 JavaNoob

2 个答案:

答案 0 :(得分:4)

不要使用==比较字符串,而是用于对象标识。

比较字符串应使用equals()方法完成,例如:

if (bog.equals ("Oranges")) {

答案 1 :(得分:1)

How do I compare strings in Java?

 if (bog.equals("Apples")){
    System.out.print(1);
  }
  if (bog.equals("Oranges")){
      System.out.print(2);
  }
  else{
    System.out.print(3);
  }