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

String 拆分出错,求帮助!
LZ想在一行同时输入三个数字,所以把这次输入存放在了字符串中,然后根据空格将字符串中的数字拆分存放在整型的数组中,最后将数组中的数字一次输出。
可是测试的时候,发现只能输出整型数组中第一个元素。求帮助,谢谢!

public class Practice4 {
public static void main(String [] args){
Scanner input = new Scanner (System.in);
System.out.println("请输入三个整数:");
String str = input.next();
String [] tem = new String [100];
tem = str.split(" ");
int [] arr = new int [100];
for(int i = 0;i<tem.length;i++){
arr [i] = Integer.parseInt(tem [i]);
System.out.println(arr [i]);
}
}


------解决方案--------------------
input.nextLine();


import java.util.Scanner;

public class Practice4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入三个整数:");
String str = input.nextLine(); // 这里用nextLine
String[] tem = new String[100];
tem = str.split(" ");
int[] arr = new int[100];
for (int i = 0; i < tem.length; i++) {
arr[i] = Integer.parseInt(tem[i]);
System.out.println(arr[i]);
}
}
}


------解决方案--------------------

引用:
LZ想在一行同时输入三个数字,所以把这次输入存放在了字符串中,然后根据空格将字符串中的数字拆分存放在整型的数组中,最后将数组中的数字一次输出。
可是测试的时候,发现只能输出整型数组中第一个元素。求帮助,谢谢!

public class Practice4 {
public static void main(String [] args){
Scanner input = new Scanner (System.in);
System.out.println("请输入三个整数:");
String str = input.next();
String [] tem = new String [100];
tem = str.split(" ");
int [] arr = new int [100];
for(int i = 0;i<tem.length;i++){
arr [i] = Integer.parseInt(tem [i]);
System.out.println(arr [i]);
}
}



import java.util.Scanner ;

public class Practice4{ 
public static void main(String [] args){ 
        Scanner input = new Scanner (System.in);        
        System.out.println("请输入三个整数:");      
         String str = input.next();   
         String [] tem = str.split(",");                 
         int [] arr = new int [100];        
         for(int i = 0;i<tem.length;i++){             
          arr [i] = Integer.parseInt(tem [i]);             
          System.out.println(arr [i]);        
         } 
}
}

不能用空格来分隔,Scanner的输入在命令行中无法识别空格