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

为什么例子中用Scanner对象,无法给数组第一个元素赋值?

为什么例子中用Scanner对象,无法给数组第一个元素赋值?

慕粉3942243 2016-09-25 10:05:02
/*如下所示程序,定义了一个String类型的color数组,数组的大小为num(键盘输入),然后用Scanner对象给color赋值,可是发现,当 输入num后,开始输color的元素,0坐标的值永远是“”,无法输入。num后面输入的字符串,直接赋值给了坐标为1的数组元素。 而不是给0号元素? import java.util.Scanner; public class demo2 { public static void main(String[] args) { Scanner reader = new Scanner(System.in); int num = reader.nextInt(); String[] color = new String[num];         for(int i=0;i<num;i++){          color[i]=reader.nextLine();         }         System.out.println(color[0]);         System.out.println(color[1]); } }
查看完整描述

3 回答

?
Crafon

TA贡献63条经验 获得超30个赞

这个问题我也遇到过!后来解决了,原因是因为输入完前面数字后按了回车,所以后面的再次输入字符串的就把回车读入了,只要在前一次输入完数字后吃掉回车就行了,可以写一句 reader.nextLine();

查看完整回答
反对 回复 2016-09-25
  • 3 回答
  • 0 关注
  • 1981 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信