问题:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
 我的代码
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;public class Main(){
    public static void main(String[} args){
         Scanner in = new Scanner(System.in);
         Set s = new HashSet();
         int n = Integer.parseInt(in.nextLine());
         while(in.hasNext()){
             s.add(in.nextLine());
         }
        Iterator it = s.iterator();
int[] array;
        while(it.hasNext()){
            int i=0;
            array[i] = (int)it.next();
            i++;
        }
       int a=0;
        int b=0;
        int c=0;
        for(int j=0;j<array.length;j++){
            for(int k=j;k<array.length;k++){
                 a = array[j];
                 b = array[k];
                if(a>b){
                    c = a;
                    a = b;
                    b = c;              
                }
            }
        }
        for(int q=0;q<array.length;q++){
        System.out.println(array[q]);
      }
        
    }
}
但是有错误
Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Syntax error on token "void", @ expected
Syntax error on token "]", invalid (
Syntax error, insert "]" to complete ArrayAccess
Syntax error, insert ")" to complete SingleMemberAnnotation
Syntax error, insert "enum Identifier" to complete EnumHeader at Main.main(Main.java:7)

解决方案 »

  1.   

    package sort;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Scanner;
    import java.util.Set;public class Main
    {
        public static void main(String[] args)
         {
             Scanner in = new Scanner(System.in);
             Set s = new HashSet();
             int n = Integer.parseInt(in.nextLine());
             while(in.hasNext())
              {
                 s.add(in.nextLine());
              }
            Iterator it = s.iterator();
            int[] array= new int[500];
            while(it.hasNext())
             {
                int i=0;
                array[i] = (int)it.next();
                i++;
             }
           int c;
            for(int j=0;j<array.length;j++)
             {
                for(int k=j;k<array.length;k++)
                 {
                    if(array[j]>array[k])
                     {
                        c = array[j];
                        array[j] = array[k];
                        array[k] = c;              
                     }
                 }
             }
            for(int q=0;q<array.length;q++)
             {
             System.out.println(array[q]);
             }
         } 
     }
    我只把编译错误改了下,还有一些没必要的变量,今天没时间仔细琢磨了,改天吧