从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中。 (
时间: 2024-05-02 22:22:21 浏览: 38
Okay,你可以调用以下函数来实现:
```
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
int main() {
string input;
getline(cin, input); // 读入一行字符串
vector<string> array;
stringstream ss(input + " "); // 关键步骤,将输入字符串转为 stringstream,并在末尾加一个空格
string temp;
while (getline(ss, temp, ' ')) { // 以空格为分隔符读入单词,并将它们存入 vector 中
array.push_back(temp);
}
// 输出结果
for (int i = 0; i < array.size(); i++) {
cout << array[i] << endl;
}
return 0;
}
```
这个程序会读入一行字符串,将以空格为分隔符的所有单词存入 vector<string> 中,最后输出这些单词。希望它对你有帮助!
相关问题
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 + " ");
}
}
}
}
```
希望我的回答能够帮助到您,如果您还有其他问题,请随时提出。