为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

3 回答

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

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

0 回复 有任何疑惑可以回复我~
#1

不再年轻需努力 提问者

非常感谢!
2015-07-16 回复 有任何疑惑可以回复我~

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

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

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

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

0 回复 有任何疑惑可以回复我~
int[] scores=new int[7];
Scanner sc=new Scanner(System.in);
for(int i=0;i<7;i++)
    scores[i]=sc.nextInt();


0 回复 有任何疑惑可以回复我~
#1

不再年轻需努力 提问者

这里数组空间已经分配好了,能不能输入多少成绩就分配多大的空间?要是成绩超过8个,这个程序就不能用了,这要怎么解决?谢谢了!
2015-05-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信