解题思路:
对于前几项,直接原样输出,加空行;对于多出的几项加以处理;

String类方法中有一个sprilt();的方法,

例:String s = sc.nextLine();
String x[] = s.split(" ");

该方法实现将字符串以空壳为标准分割成几个小的字符串并放入数组中;

如 s = "asd dfg fgh";

则x[0] = "asd";x[1] = "dfg";x[2] = "fgh";

注意事项:
再按照题目样例输入时;在输入2后的换行,也会被字符串扫描到;

固利用:String s = sc.nextLine();
if(i==1)
continue;

进行跳过;

参考代码:

import java.util.Scanner;

public class Main{
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		for(int i=1;i<=a+1;i++) {
			String s = sc.nextLine();
			if(i==1)
				continue;
			System.out.println(s+"\n");
		}
		while(sc.hasNext()) {
			String s = sc.nextLine();
			String x[] = s.split(" ");
			for(int i=0;i<x.length;i++) {
				System.out.println(x[i]+"\n");
			}
		}
	}
}


点赞(9)
 

0.0分

7 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 10 条评论

alibba 11月前 回复TA
所以为什么println后面还要加个'\n'
计算机魔术师 2年前 回复TA
實在是不理解這個鬼系統
计算机魔术师 2年前 回复TA
這個結果不對吧,一個一個輸入的話,會立馬輸出,一起輸入則  後面的循環無效
小辰 5年前 回复TA
@多么雷定 sc.close();   //关闭输入流
小辰 5年前 回复TA
@小辰 下面循环改为while(sc.hasNext()) { 			String s = sc.next(); 			System.out.println(s+"\n"); 		}也会给正确
小辰 5年前 回复TA
这个存在点问题吧?!连续输入空格好像会和题目要求不符
炎炎 5年前 回复TA
对这个                continue; 实在是迷茫
多么雷定 5年前 回复TA
问一下怎么使得输入停止
我什么都不会啊啊 6年前 回复TA
@1710113082 不对吧?
1710113082 6年前 回复TA
大佬。。。。