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

2024-11-18 02:20:13
推荐回答(5个)
回答(1):

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]);

}



回答(2):

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()读取下一行

其他的方法都不常用

回答(3):

String str = "1 2  3   4";

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

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

   List result = new ArrayList();

   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);

   }

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

回答(4):

举个简单例子如:
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]);
}
}

回答(5):

String str = "balba oz";
String[] strs = str.split("\\s+");/*正则表达式,参数是一个正则表达式的字符串*/
没编译,不过写了好多遍了,应该没错