赞
踩
题目描述:
字符串的输入输出处理。
输入:
第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。
输出:
先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。
样例输入:
2
www.dotcpp.com DOTCPP
A C M
D O T CPP
样例输出:
www.dotcpp.com DOTCPP
A C M
D
O
T
CPP
解题思路:
nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
next()会自动消去有效字符前的空格,只返回输入的字符,不能得到带空格的字符串。
(简单点说就是:next我只要字;nextLine是小孩才做选择,我全都要)
所以在前N行我们采取nextLine()获取到字符串并直接输出,而后续的字符串我们通过使用next(),就能够获取字符串中不包含空格的字符。
全部代码:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); for(int i = 0;i < n;i++){ String str = sc.nextLine(); System.out.println(str + "\n"); } while(sc.hasNext()){ String s = sc.next(); System.out.println(s + "\n"); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。