日期:2014-05-20  浏览次数:20764 次

关于Scanner类的用法的一个小问题
我希望从键盘输入一些数字读取到一个数组中,最多可以输入64个,也可以少于64个
想问一下用Scanner类,有没有办法达到当从键盘输入一串数字后  依次被写如数组中,并且在按回车之后结束
(输入格式是1 2 3 4 5 6 7 中间是空格)
------最佳解决方案--------------------
可以先按字符串读入(一次把一行都读入),之后分成字符串数组,在把字符串转成int型数放数组里。
参考代码:
		Scanner scan=new Scanner(System.in);
String in=scan.nextLine();
String[] inArray=in.split(" ");
int[] input=new int[inArray.length];
for(int i=0,length=inArray.length; i<length; i++)
{
input[i]=Integer.parseInt(inArray[i]);
}

------其他解决方案--------------------
。。。。。。
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
for(int i=0; i<10; i++) {
System.out.println(in.nextInt());
}
}

------其他解决方案--------------------
要存数组里?
public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int[] a=new int[64];for(int i=0; i<10; i++) {            a[0]=sc.nextInt());       }    }
不知道行不行,反正结贴率为0
------其他解决方案--------------------
引用:
。。。。。。
Java code?123456public static void main(String[] args) {        Scanner in = new Scanner(System.in);        for(int i=0; i<10; i++) {            System.out.println(in.nextInt()); ……

这个我知道,但是 如果我只要输入5个数字  这样写代码还是会强制循环10次    我想要 我输入完 1 2 3 4 5 这5个数字并且按回车之后  就能结束循环
------其他解决方案--------------------
引用:
要存数组里?
public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int[] a=new int[64];for(int i=0; i<10; i++) {            a[0]=sc.nextInt());       }   ……

同上。。。
------其他解决方案--------------------
引用:
可以先按字符串读入(一次把一行都读入),之后分成字符串数组,在把字符串转成int型数放数组里。
参考代码:
Java code?12345678Scanner scan=new Scanner(System.in);String in=scan.nextLine();String[] inArray=in.split(" ");int[] input=new int[……

谢谢  我知道怎么写了~
------其他解决方案--------------------
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
      System.out.println(in.next());
}

我彻底服了。。。你想输入多少个???