从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中。 (
时间: 2024-05-15 08:19:03 浏览: 12
您好!感谢您的提问。针对您的问题,可以使用C++标准库中的string和stringstream来实现。以下是代码示例:
```
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string inputStr;
getline(cin, inputStr); // 从键盘读入一行字符串
stringstream ss(inputStr);
string token;
string strArr[100]; // 假设最多有100个单词
int i = 0;
while (getline(ss, token, ' ')) { // 以空格为分隔符提取字符串
strArr[i++] = token;
}
// 输出存入数组中的字符串
for (int j = 0; j < i; j++) {
cout << strArr[j] << endl;
}
return 0;
}
```
希望能够帮到您!如果您还有其他问题,欢迎继续提问。
相关问题
Scanner类 从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中
可以使用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.
```
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 + " ");
}
}
}
}
```
希望我的回答能够帮助到您,如果您还有其他问题,请随时提出。