java语言怎么从控制台输入字符并且储存到定义的数组当中

import java.util.*;
public class BinarySearch {

public static void main(String[] args) {
Scanner input=new Scanner(System.in); // TODO 自动生成的方法存根
String[] names=new String[10];

for (int i=0;i<10;i++){
System.out.println("请输入第"+(i+1)+"个学生的姓名:");
names[i]=input.nextLine();

}
}

}
这个程序有什么问题吗?

public static void main(String[] args) {
Scanner input ;
String[] names = new String[10];

for (int i = 0; i < 10; i++) {
input= new Scanner(System.in); // TODO 自动生成的方法存根
System.out.println("请输入第" + (i + 1) + "个学生的姓名:");
names[i] = input.nextLine();
}

System.out.println(Arrays.toString(names));
}

 每次循环,重新读取键盘

input= new Scanner(System.in); // 放在循环中

追问

就是这样,不会自动跳到下一行,直接在第二个提示输入语句那里

追答

只有输入中文才这样,输入法的事件影响到了Eclipse,问题不大(输入英文没有问题)
每次输入后,需要点下光标

实在不行用cmd 的命令执行,那样就不会有问题了

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-23

没有问题啊。

public static void main(String[] args) {
Scanner input = new Scanner(System.in); // TODO 自动生成方法存根
String[] names = new String[10];

for (int i = 0; i < 10; i++) {
System.out.println("请输入第" + (i + 1) + "学生姓名:");
names[i] = input.nextLine();

}
for (String s : names) {
System.out.println(s);
}
}
names就是你的数组 我帮你输出了一下,你的程序是正常运行的。

追问

但是输入一个字符以后按enter输入以后,要按一下空格键才能正常运行输入下一个

第2个回答  2015-10-29
没问题呀,你所指的问题是哪里呢?

第3个回答  2014-04-23
这个程序是正确的
第4个回答  2014-04-23
没什么问题
相似回答