Java中怎么读入一行输入空格隔开的多个数据

如题所述

import java.util.Scanner;

public class ReadData{

public static void main(String[] args) {

ReadData r=new ReadData();

Scanner input=new Scanner(System.in);

//Scanner input=new Scanner("abc 123 bb ss");

String s=input.nextLine();

String[] arr=s.split(" ");

System.out.println(arr.length+"\t"+arr[0]);

}

}

扩展资料

Scanner sc = new Scanner(System.in);

String inputString = sc.nextLine();

String stringArray[] = inputString.split(" ");

int num[] = new int[stringArray.length];

for (int i = 0; i < stringArray.length; i++) {

num[i] = Integer.parseInt(stringArray[i]);

}



温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-23
public class Test {
public static void main(String[] args) throws ParseException {
Scanner scanner= new Scanner(System.in);
String str = scanner.nextLine();
System.out.println(str);
}
}

可以参照示例代码。如果你希望将读入的字符串按照空格区分放入到一个数组中

那么调用str.split(' ');就可以了。

Scanner包含多个方法,比如常用的

scanner.next()   读取下一个字符串,遇到空格就不在读入

scanner.nextLine()读取下一行

其他的方法都不常用

第2个回答  2014-11-21
String str = "1 2  3   4";

   str = str.replaceAll("\\s*", " ").replaceFirst("\\s", "");

   String[] strArry = str.split(" ");

   List<String> result = new ArrayList<String>();

   for (int i = 0 ; i < strArry.length ; i++) {

    if (strArry[i].length() > 0 && strArry[i] != null) {

     result.add(strArry[i]);

    }

   }

   for (String resultStr : result) {

    System.out.println(resultStr);

   }

适用多个空格分隔时,试试看

第3个回答  2014-11-21
举个简单例子如:
import java.util.Scanner;
public class ReadData{
public static void main(String[] args) {
ReadData r=new ReadData();
Scanner input=new Scanner(System.in);
//Scanner input=new Scanner("abc 123 bb ss");
String s=input.nextLine();
String[] arr=s.split(" ");
System.out.println(arr.length+"\t"+arr[0]);
}
}本回答被提问者采纳
第4个回答  2014-11-21
String str = "balba oz";
String[] strs = str.split("\\s+");/*正则表达式,参数是一个正则表达式的字符串*/
没编译,不过写了好多遍了,应该没错