2011-04-09 58 views
0

当我尝试这样做时,我在排序某些数组时遇到了一些问题,并且编译器收到错误。我也试过把它当做Arrays.sort,但没有运气。Java中的排序问题

import java.util.Scanner; 
public class CH6PA 
{ 
    private static double difficulty; 
    private static int score; 
    private double[] average = new double[7]; 

    public static void main(String[]args) 
    { 
     Scanner keyboard = new Scanner (System.in); 

     do 
     { 
      System.out.println("Enter the level of difficulty (1.2-3.8)"); 
     difficulty = keyboard.nextDouble(); 
     } 
      while (difficulty<1.2 || difficulty>3.8); 


     int[] judge = new int[7]; 


     for(int i = 0; i<judge.length; i++) 
     { 
     System.out.println("Enter the difficulty score for each judge (0-10)"); 

      System.out.println("Enter the score for judge" + (i+1)); 
      judge[i]=keyboard.nextInt(); 
    while(score > 0 && score <=10); 
     } 

sort(judge, judge.length); 
System.out.println("Average = " + (judge[3] + judge[4] + judge[5])); 

} 
} 
+0

而不是告诉我们你得到一个编译错误,你应该告诉我们*编译错误信息是什么,以及*错误是在哪一行。 – 2011-04-09 01:49:34

+0

这看起来像是一个家庭作业问题。假设**提示**比完整答案更合适。 – 2011-04-09 01:51:39

回答

0

而(评分> 0 & &得分< = 10);似乎是错的。分数的价值是什么?

为什么两个嵌套循环中while()循环没有做任何事情,因为你已经应用;。

0

得分没有赋值给它,因此你在比较空值。

0

我相信你的意思是:

do { 
    System.out.println("Enter the score for judge" + (i+1)); 
    judge[i]=keyboard.nextInt(); 
} while(judge[i] > 0 && judge[i] <=10);  } 

眼下,judge[i]会从stdin任何int读(如果编译)

行:

while(score > 0 && score <=10);

没有任何意义现在,所以你得到一个编译器错误。