原题链接:[字符串的输入输出处理](https://www.dotcpp.com/oj/problem1094.html "字符串的输入输出处理")
解题思路:
1. 已知有N行字符串为原样输出,可能含有空格。**所以可以直接用Scanner类中的nextLine(),直接读取一整行**。而我们可以只用一个字符串变量接收输入的值,然后直接输出。
2. N行字符串原样输出后,还可以继续输入,但此时“不含有空格”,意思就是:**之后的字符串以空格为结束标志。所以用Scanner类中的next(),**以空格为结束标志。
3. 还有最后一步,我们不知道它什么时候结束输入。也就是说,**它有可能有无限多个要输入的字符串,但如果它不再输入字符串,我们就要结束。**这个时候,我们可以用while(),而括号内的条件为Scanner类中的 hasNext()。只要下面还有输入,我们就继续执行while里的语句。否则,跳出while循环。
参考代码:
```java
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int N = input.nextInt();
input.nextLine();
String s = input.nextLine();
System.out.println(s);
System.out.println();
for(int i = 1;i < N && i < 100;i++)
{
s = input.nextLine();
System.out.println(s);
System.out.println();
}
do
{
String s1 = input.next();
System.out.println(s1);
System.out.println();
}while(input.hasNext());
input.close();
}
}
```
0.0分
0 人评分