根据书上的要求,编写了一段求4个数的最大值。
问题如下:
package cha3;import java.util.Arrays;
import java.util.Scanner;public class cha3_work {
       public int getmax(int[] a){
        Arrays.sort(a);
        return a[3];
       }
 public class cha3_comp{
   public static void main(String[] args){
   int[] b=new int[4];
   cha3_work obj=new cha3_work();
   Scanner reader;
   reader=new Scanner(System.in);
   System.out.println("please input your number");
   b[0]=reader.nextInt();
   b[1]=reader.nextInt();
   b[2]=reader.nextInt();
   b[3]=reader.nextInt();
   System.out.println(obj.getmax(b));
   }
}
}
红色部分提示有错误,要我去掉MAIN前面的static或者将cha3_comp类的pulic改成static
前一个方法用了后,程序还是无法运行,说缺少STATIC的MAIN方法。
后一个方法可行。
望高手指点一下!
PS:是否还有更简便一点的四个数比较的程序呢?希望各位发来看看。

解决方案 »

  1.   

    如果一个.java文件里含有入口main方法,那么仅含有该方法的类可以是public class,其它类不可以声明为public class
      

  2.   

    自己写个循环做比较咯,伪代码类似于:int max = Integer.MIN; // int型的最小值
    for (int i=0;i<4;i++) {
      int tmp = reader.nextInt();
      if (tmp > max) max = tmp;
    }
    println(max);
      

  3.   


    哦?
    public class A {
    public static class B {
    public static void main(String[] args) {
    System.out.println("Are you sure?");
    }
    }
    }lz如果一定要将cha3_comp写成内部类那也就只能按第二个方法改了
      

  4.   

    我把cha3_work的public去掉了  可还是有错误
      

  5.   

    额,看到了,把cha3_comp写在内部类了,难怪。谢谢指点!
      

  6.   


    class cha3_work {
    public int getmax(int[] a) {
    Arrays.sort(a);
    return a[3];
    }
    }
    public class cha3_comp{
    public static void main(String[] args){
    int[] b = new int[4];
    cha3_work obj = new cha3_work();
    Scanner reader;
    reader = new Scanner(System.in);
    System.out.println("please input your number");
    b[0] = reader.nextInt();
    b[1] = reader.nextInt();
    b[2] = reader.nextInt();
    b[3] = reader.nextInt();
    System.out.println(obj.getmax(b));
    }
    }
      

  7.   

    cha3_comp是不是需要独立再建一个文档?