1

出于某种原因,我的(基本)程序总是打印我为我的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

4

2 回答 2

4

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

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

if (bog.equals ("Oranges")) {
于 2013-09-02T02:16:02.987 回答
1

如何比较 Java 中的字符串?

 if (bog.equals("Apples")){
    System.out.print(1);
  }
  if (bog.equals("Oranges")){
      System.out.print(2);
  }
  else{
    System.out.print(3);
  }
于 2013-09-02T02:16:12.503 回答