将输入的多行字符串存入list中 JAAVA
时间: 2024-01-28 10:04:03 浏览: 24
可以使用Scanner类从标准输入读取多行字符串,并将其存入List中。示例如下:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> lines = new ArrayList<>();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.isEmpty()) {
break;
}
lines.add(line);
}
System.out.println(lines);
}
}
```
上述代码使用while循环不断从标准输入读取字符串,如果读取到空行则结束循环。将每一行非空字符串添加至List中,最后输出List即可。
相关问题
将用户输入的多行字符串存入String中
可以使用Java的Scanner类和StringBuilder类来实现将多行字符串存入String中。
以下是示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.isEmpty()) {
break;
}
sb.append(line).append(System.lineSeparator());
}
String inputString = sb.toString();
System.out.println(inputString);
}
}
```
上述代码中,使用Scanner类读取用户输入的多行字符串,每读取一行,就将其添加到StringBuilder对象中,并在每行末尾添加一个换行符。当读取到空行时,退出循环。最后,使用StringBuilder的toString()方法获取存储在StringBuilder中的所有字符串,并将其赋值给inputString变量。
在C语言中,如何按行输入多行字符串
在 C 语言中,我们可以使用循环结构和 `fgets()` 函数按行输入多行字符串。
下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int num_lines;
printf("请输入要输入的行数:");
scanf("%d", &num_lines);
getchar(); // 消耗输入缓冲区中的换行符
char str[100];
printf("请逐行输入字符串:\n");
for (int i = 0; i < num_lines; i++) {
fgets(str, sizeof(str), stdin);
printf("第 %d 行输入的字符串是:%s", i + 1, str);
}
return 0;
}
```
在这个示例代码中,我们首先使用 `scanf()` 函数读取要输入的行数,然后调用 `getchar()` 函数消耗输入缓冲区中的换行符,以免影响后面的输入操作。
接下来,我们使用 `fgets()` 函数逐行读取输入的字符串,并在循环中输出每一行输入的字符串。需要注意的是,`fgets()` 函数会将输入的换行符也包含在字符串中,因此输出时需要注意格式。