最近在复习,无聊就自学了会java,写了下面的代码,但是不知道为什么会出错...希望各位大牛解答下,谢谢啦..
import java.util.*;
 
public class Demo {public int fun(){
Scanner sc = new Scanner(System.in);
try {
 int data= sc.nextInt();
return data;
} catch(Exception e) {
 System.out.println("bad input!");
}
}/*出现错误的地方*  
public static void main(String[] args){
  Demo demo=new Demo();
  int i,j,t;
  int [] anArray;
  anArray = new int[5];for(i=0;i<=4;i++){
      anArray[i]=demo.fun();}
      
for(i=0;i<=4;i++){
    for(j=0;j<=4;j++){
           if(anArray[i]>anArray[j]){
              t=anArray[i];
              anArray[i]=anArray[j];
              anArray[j]=t;}
              } 
       }
  for(i=0;i<=4;i++){
      System.out.println(anArray[i]);}
      }

解决方案 »

  1.   

    public int fun(){
    Scanner sc = new Scanner(System.in);
    try {
     int data= sc.nextInt();
    return data;
    } catch(Exception e) {
     System.out.println("bad input!");
    }
    }主要是没有返回值,如果产生异常了,就会没有返回值
    public int fun(){
    Scanner sc = new Scanner(System.in);
    try {
     int data= sc.nextInt();
    return data;
    } catch(Exception e) {
     System.out.println("bad input!");
    }
    return -99999999;
    }
      

  2.   

              public int fun() {
    Scanner sc = new Scanner(System.in);
    try {
    int data = sc.nextInt();
    return data;
    } catch (Exception e) {
    System.out.println("bad input!");
    }
    }
    fun方法必须要有一个返回值,当int data = sc.nextInt(); 发生异常的时候那么这个方法就没有返回值了。
      

  3.   

    楼主可以用个好点的编译器,这样犯错的机会会少点
    import java.util.*;
     
    public class Demo 
    { public int fun()
    {
    Scanner sc = new Scanner(System.in);
    try 
    {
    int data= sc.nextInt();
    return data;
    } catch(Exception e) 
    {
    System.out.println("bad input!");
    }
    //没有返回值
    return 0;
    //////
    }
    public static void main(String[] args)
    {
    Demo demo=new Demo();
    int i,j,t;
    int [] anArray;
    anArray = new int[5]; for(i=0;i<=4;i++)
    {
    anArray[i]=demo.fun();}
        
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=4;j++)
    {
    if(anArray[i]>anArray[j])
    {
    t=anArray[i];
    anArray[i]=anArray[j];
    anArray[j]=t;
    }
    }  
    }
    for(i=0;i<=4;i++)
    {
    System.out.println(anArray[i]);
    }
    }