解决方案 »

  1.   

    本帖最后由 fudongrifdr 于 2013-10-22 16:57:38 编辑
      

  2.   

    接楼上,
    s hao=new s();
    s.max();1.s从规范来讲,最好大写
    2.max不是static函数,不可以这么写,改为hao.max另外,max方法中,int t最好声明在method内,不要声明在argument中。(还有就是楼上说的返回类型,只能一个)最后,打开的scanner没有关闭,用q.close()关闭。我把你的代码改改发上来吧
      

  3.   

    Java函数定义: 返回值类型  函数名(形参列表)
    int void max(int a,int b, int c, int t)
    这一句中有两中返回类型啦大哥,按你程序的意思函数体本意是直接输出最大值,所以去掉void就OK啦
    推荐你看《JAVA2核心技术第1卷.基础知识7th.pdf》
      

  4.   

    简单的修改了一下,你对比一下。
    import java.util.Scanner;public class s {
    public static void main(String [] args){
    Scanner in  = new Scanner(System.in);

    System.out.println("Enter three number,please");
    int a = in.nextInt();
    int b = in.nextInt();
    int c = in.nextInt();

    max(a,b,c);
    in.close();
    }
    /*----max method part----*/
    static void max(int a,int b,int c){
    int t = 0;
    if(a<b){
    t=a;a=b;b=t;
    }
    if(a<c){
    t=a;a=c;c=t;
    }
    if(b<c){
    t=b;b=c;c=t;
    }
    System.out.println("Sorted Order : "+a+" "+b+" "+c);
    }
    }Enter three number,please
    3 4 5
    Sorted Order : 5 4 3还有一个错误就是你调用max没有传参。
      

  5.   

         Scanner in  = new Scanner(System.in);
                     
                    System.out.println("Enter three number,please");
                    int a = in.nextInt();
                    int b = in.nextInt();
                    int c = in.nextInt();
    为什么这个不可以放在max方法下面
      

  6.   


    输入输出口放在main函数中。
    这里涉及到多线程以及JVM编译的结束标志问题不多解释了。你想放在max中也可以,在5楼代码中,12行改为:max();
    16行括号内函数变量删掉
    8,9,10行代码放在int t=0;下面
      

  7.   

    s.max()与int void max(int a,int b, int c, int t)不匹配,还有去掉int ,max(int a,int b,int c)
      

  8.   

    s.max() 调用的是 max()方法,你根本就没有这个方法,你有的是max(int a,int b,int c,int t)方法,而且你的t作为一个中转的 属性,完全可以在方法里边定义 int t=0;不需要方法传进去
      

  9.   

    话说用Scanner in  = new Scanner(System.in); 
    int a = in.nextInt(); 
    可以读入其他类型的数据吗?