import javax.swing.*;public class qq{
public static void main(String [] args){ String userchoose = JOptionPane.showInputDialog("please choose one sentence");
char choose = userchoose.charAt(0); if('q'==choose || 'Q'==choose)//注意这里
System.out.println("good"+choose);
    else
     if('T'==choose || 't'==choose)//注意这里
     System.out.println("yes"+choose);
  }
}

解决方案 »

  1.   

    哦,明白了。“”是STRING ,对吧
    那么请问,当2个String比较的时候,可以用equals, String1.equals(String2)
    当char比较的时候用==,还是也可以用equals?
      

  2.   

    char 当然不能用equals
    因为他不是一个对象,String,Integer,才可以,
    建议看一下Java Thinking
      

  3.   

    在Java中,对象之间的比较优先使用equals。因为==通常比较的是两个引用,并非两个对象的内容。
    自己编写的类如果不改写equals方法,采用equals比较的将使用Object的equals方法,看一下源文件就可以知道,它采用是比较引用。对于基本类型如int、char等,只能用==来比较。关于这个问题可以参考Thinking in Java和Effective Java中关于equals的论述。