在编译这个程序时总是显示TestEx0201.java:21:需要<标示符>
                  System.out.println(+a.boolean judge());
                                        需要';'
                                        非法的表达式开始
                                              不是语句
                                              需要';'class Ex0201{
  public int n;
  public void setX(int a){
  n=a;
  }
  public boolean judge(){
   if(n%2==0)
     if(n%3==0)
     if(n%5==0)
     System.out.println("n能被2、3、5同时整除");
     else System.out.println("n不能被5整除");
     else System.out.println("n不能被3整除");
    else System.out.println("n不能被2整除");
  }
}
class TestEx0201{
  public static void main(String[] args){
   Ex0201 a=new Ex0201();
     a.setX(4);
    System.out.println(+a.boolean judge());
}
}
    大家帮帮忙吧,纠结好久了

解决方案 »

  1.   

    (+a.boolean judge());应该这样调用a.judge();
      

  2.   

     public boolean judge(){
       if(n%2==0)
         if(n%3==0)
         if(n%5==0)
         System.out.println("n能被2、3、5同时整除");
         else System.out.println("n不能被5整除");
         else System.out.println("n不能被3整除");
        else System.out.println("n不能被2整除");
      }
    这个方法没返回值。要给个return boolean;
      

  3.   

    错的很多啊,a是Ex0201的实例,你知道用a调用setX();问什么调用judge()方法要写成“+a.boolean judge();”还有在java中这么写“System.out.println(+a.boolean judge());”都不报错吗???再就是方法“boolean judge()”没有返回值啊,要么加上返回值:return false/return true,要么把boolean换成void,问题就解决了。。
      

  4.   

    我试了一下,改成void 编译还是出错啊
      

  5.   

    public boolean judge(){
       if(n%2==0)
         if(n%3==0)
         if(n%5==0)
         System.out.println("n能被2、3、5同时整除");
         else System.out.println("n不能被5整除");
         else System.out.println("n不能被3整除");
        else System.out.println("n不能被2整除");
        return **;
      }
    public class TestEx0201{
      public static void main(String[] args){
       Ex0201 a=new Ex0201();
         a.setX(4);
        System.out.println(a.judge());
    }
    }
      

  6.   

    class Ex0201{
       public int n;
       public void setX(int a){
       n=a;
       }
       public void judge(){
        if(n%2==0)
          if(n%3==0)
          if(n%5==0)
          System.out.println("n能被2、3、5同时整除");
          else System.out.println("n不能被5整除");
          else System.out.println("n不能被3整除");
         else System.out.println("n不能被2整除");
       }
     }
    public class TestEx0201{
       public static void main(String[] args){
        Ex0201 a=new Ex0201();
          a.setX(30);
         a.judge();
     }
     }
    楼主,我这个是调试过的!你试试!
      

  7.   

    下面再进一步的改过的!
    class Ex0201{
       public int n;
       public void setX(int a){
       n=a;
       }
       public void judge(){
        if(n%2==0&&n>=2)
          if(n%3==0&&n>=3)
            if(n%5==0&&n>=5)System.out.println("n能被2、3、5同时整除!");
            else System.out.println("n不能被5整除,但是可以被2,3整除!");
          else System.out.println("n不能被3整除,可以被2整除!");
         else System.out.println("n不能被2整除!");
       }
     }
    public class TestEx0201{
       public static void main(String[] args){
        Ex0201 a=new Ex0201();
          a.setX(30);
         a.judge();
     }
     }可以编译运行!