請問一下..
我java寫到這樣就卡住了
現在目前編譯出來是長這樣
「請輸入考試人數:2
請輸入考試分數:50
60
第一個人的分數是50分
第一個人的分數是60分
最高分是第1個人的分數是60分
最高分是第2個人的分數是60分
」以上是程式執行結果
但是我要的最後面是輸出
最高分是第(第幾個輸入的)個人的分數是(最高分)
不及格是第(哪幾個)個人的分數是(幾分)分這兩行輸出困擾我很久
請會的人幫幫忙
以下是程式import java.io.*;class ch0702
{
  public static void main(String args[])throws IOException
  {
    System.out.println("請輸入考試人數:");
    
    BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
    
    String str = br.readLine(); 
    int num=Integer.parseInt(str);    int exam[];
    exam=new int[num];
    
    System.out.println("請輸入考試分數:");    for(int i=0;i<num;i++){
    str = br.readLine(); 
    int grade=Integer.parseInt(str);
    exam[i]=grade;
    }    for(int i=0;i<num;i++){
    System.out.println("第"+(i+1)+"個人的分數是"+exam[i]+"分。");
    }
    
    int mm=0;
     for(int i=0;i<num;i++)
      if(people[i]>mm) mm=exam[i];
      
       for(int i=0;i<num;i++)
      System.out.println("最高分是第"+(i+1)+"個人的分數是"+mm+"分。");        
  }
}

解决方案 »

  1.   

    帮你写好了.import   java.io.*; 
    import java.util.*;
    class   ch0702 

        public   static   void   main(String   args[])throws   IOException 
        { 
            System.out.println( "請輸入考試人數: "); 
            Scanner s=new Scanner(System.in);
            int num =s.nextInt();
            int   exam[]; 
            exam=new   int[num]; 
            
            System.out.println( "請輸入考試分數: ");         for(int   i=0;i <num;i++){ 
             exam[i]=s.nextInt();
            } 
    LinkedList   ll   =   new   LinkedList();
            for(int   i=0;i <num;i++){ 
             System.out.println( "第 "+(i+1)+ "個人的分數是 "+exam[i]+ "分。 ");
              ll.add(exam[i]);
            } 
            
            
            System.out.println( "最高分数是:   "   +   Collections.max(ll));
              for(int   i=0;i <num;i++) {
              
               if(exam[i]<60){
               System.out.println("不及格的是第"+(i+1)+"个,分数是:"+exam[i]);
               }
              }           
        } 
      

  2.   

    1楼的用了java.util.Scanner类,就不需要导入java.io.*,也不需要声明异常了,因为Scanner类自己处理了异常。
    楼主的程序直接读System.in,就需要处理异常,或者像你的程序那样声明异常,否则无法编译的。
      

  3.   

    顺便说一下,方法签名中的“throws XXXException”,不一定是抛出异常,而是告诉方法的调用者:“我的方法可能会抛出异常,我没有处理它,交给你处理了。”
    main()方法的调用者是jvm,所以,如果为main()方法声明异常,就是把异常交给jvm来处理。