Scanner类 从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中
时间: 2023-12-16 12:06:20 浏览: 61
可以使用Scanner类的nextLine()方法读取一行字符串,然后使用String类的split()方法将字符串按空格分割成字符串数组。以下是示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符串:");
String line = scanner.nextLine();
String[] words = line.split(" ");
System.out.println("分割后的字符串数组为:");
for (String word : words) {
System.out.println(word);
}
}
}
```
运行示例:
```
请输入一行字符串:
This is a sentence.
分割后的字符串数组为:
This
is
a
sentence.
```
相关问题
Scanner类练习 (1)从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中。 (2)若数组元素是纯数字字符串,将其转换为数值,并输出; (3)若是非数字字符串,直接输出。
好的,我会为您解答这个问题。以下是代码实现:
```java
import java.util.Scanner;
public class ScannerExercise {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符串,以空格作为分隔符:");
String input = scanner.nextLine();
String[] strings = input.split(" ");
for (String str : strings) {
try {
int num = Integer.parseInt(str);
System.out.println(num);
} catch (NumberFormatException e) {
System.out.println(str);
}
}
}
}
```
这个程序会读入一行字符串,将其以空格为分隔符拆分成字符串数组。然后遍历数组,对每个字符串进行判断。如果是数字字符串,就将其转换成数值并输出;如果不是,则直接输出。
希望能够帮助到您。
Java scnner从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中。 (2)若数组元素是纯数字字符串,将其转换为数值,并输出; (3)若是非数字字符串,直接输出。
好的,我明白了您的问题。
可以使用 Scanner 类的 nextLine() 方法从键盘读入一整行字符串,然后使用 split() 方法以空格作为分隔符,将字符串分割成字符串数组。
接下来,遍历字符串数组,使用正则表达式判断数组元素是否是纯数字字符串。若是,则使用 Integer 类的 parseInt() 方法将其转换为数值,并输出;若不是,则直接输出。
具体的实现代码如下:
``` java
import java.util.Scanner;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读入一行字符串
System.out.println("请输入一行字符串:");
String str = scanner.nextLine();
// 以空格作为分隔符,将字符串分割成字符串数组
String[] arr = str.split(" ");
// 遍历字符串数组
for (String s : arr) {
// 使用正则表达式判断数组元素是否是纯数字字符串
if (Pattern.matches("\\d+", s)) {
// 若是,则将其转换为数值,并输出
int num = Integer.parseInt(s);
System.out.print(num + " ");
} else {
// 若不是,则直接输出
System.out.print(s + " ");
}
}
}
}
```
希望我的回答能够帮助到您,如果您还有其他问题,请随时提出。