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

来源:7-1 编程练习

不再年轻需努力

2015-05-28 08:29

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

写回答 关注

3回答

  • 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);

    不再年轻需努...

    非常感谢!

    2015-07-16 12:24:45

    共 1 条回复 >

  • 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();


    不再年轻需努...

    这里数组空间已经分配好了,能不能输入多少成绩就分配多大的空间?要是成绩超过8个,这个程序就不能用了,这要怎么解决?谢谢了!

    2015-05-28 09:37:14

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165555 学习 · 17587 问题

查看课程

相似问题