当前位置: 代码迷 >> Java相关 >> 我才学JAVA几天 求人帮我看看这个程序有人什么错 咋结果不正确?
  详细解决方案

我才学JAVA几天 求人帮我看看这个程序有人什么错 咋结果不正确?

热度:183   发布时间:2011-10-11 19:22:22.0
我才学JAVA几天 求人帮我看看这个程序有人什么错 咋结果不正确?
import java.util.Scanner;
class Scannertest{
      public static void main(String[] args){
      String str0="窗前明月光";
      String str1="疑似地上霜";
      String str2="举头望明月";
      String str3="低头思故乡";
      String Str4=null;
      Scanner keyin=new Scanner(System.in);
      System.out.println("请输入《静夜思》的任一句:");
      str4=keyin.nextLine();
      if(str4==str0) {System.out.println("下一句是:"+str1);}
      else if(str4==str1) {System.out.println("下一句是:"+str2);}
      else if(str4==str2) {System.out.println("下一句是:"+str3);}
      else if(str4==str3) {System.out.println("下一句是:"+str0);}
      else System.out.println("你输错了 你小学语文没学好哦!");
         }
   }
搜索更多相关的解决方案: str1  public  import  静夜思  

----------------解决方案--------------------------------------------------------
注意大小写
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2011-10-11 13:14:14
chenghan818

等 级:论坛游民
帖 子:27
专家分:22
注 册:2011-5-21
  得分:0 
回复 3楼 付政委
我改了 之后运行还是一样的结果 无论输进什么就是只输出“你输错了 你小学语文没学好哦!”最后这句话 是什么原因 ?
----------------解决方案--------------------------------------------------------
字符可以用“==”的么,试用下equals来判断一下吧!!这样应该就可以解决了!!
----------------解决方案--------------------------------------------------------
对!“==”比的是两个变量的引用地址!很明显,你输入的是一个new的变量!地址不一样!要比较内容的话,可以试试equals。
----------------解决方案--------------------------------------------------------
用equals。。String和integer一样,对象是要new出来的。在堆中,只能用equals对判断。。只有int long char这种是在栈中,可以直接用=号

----------------解决方案--------------------------------------------------------
哇哇!!! 来瞄瞄,我收获 颇多,大虾们都 好厉害!!!  

180331920   JAVA 交流群,学习群 ,
大虾,小虾,小菜 们都 请进来,多多交流!

----------------解决方案--------------------------------------------------------
import java.util.Scanner;

class Scannertest {
    public static void main(String[] args) {
        String str0 = "窗前明月光";
        String str1 = "疑似地上霜";
        String str2 = "举头望明月";
        String str3 = "低头思故乡";
        String Str4;
        Scanner keyin = new Scanner(System.in);
        System.out.println("请输入《静夜思》的任一句:");
        Str4 = keyin.nextLine();
        if (Str4.equals(str0)) {
            System.out.println("下一句是:" + str1);
        } else if (Str4.equals(str1)) {
            System.out.println("下一句是:" + str2);
        } else if (Str4.equals(str2)) {
            System.out.println("下一句是:" + str3);
        } else if (Str4.equals(str3)) {
            System.out.println("下一句是:" + str0);
        } else
            System.out.println("你输错了 你小学语文没学好哦!");
    }
}
我是这么改的..
----------------解决方案--------------------------------------------------------
谢谢各位 居然把这么基本的东西都弄丢了(亏我们还学了C)!
----------------解决方案--------------------------------------------------------
  相关解决方案