问答详情
源自:7-1 编程练习

如果我用Scanner工具包自由输入学生成绩进行有效成绩排名该怎么做?

如题,怎样用Scanner将要输入的学生成绩导入数组内?

提问者:不再年轻需努力 2015-05-28 08:29

个回答

  • Absolute_Duo
    2015-05-28 14:17:30
    已采纳

    这样的话有几种办法解决:

    1. 分配的数组空间大一点int[] scores=new int[100];

    2. 让用户输入一个容量如int n=sc.nextInt();int[] scores=new int[n];让用户输入一个大小n然后就创建一个n个大小的数组

    3. 用向量Vector的话就能完美解决,不过要有一个输入的截止符如当输入-1结束;

    Vector scores=new Vector();

    Scanner sc=new Scanner(System.in);

    int i=0;

    while(i=sc.nextInt()!=-1)

        scores.add(i);

  • Wang_Yu
    2015-05-28 21:06:01

    楼上已经说的很详细了,我再补充一下。

    让用户指定数组大小是个不错的办法。

    1.当然你也可以声明一个很大的数组。等输入完之后,用元素的多少进行数组长度的修改。

    2.你也可以选择用集合。

  • Absolute_Duo
    2015-05-28 09:07:12

    int[] scores=new int[7];
    Scanner sc=new Scanner(System.in);
    for(int i=0;i<7;i++)
        scores[i]=sc.nextInt();