java - 如果输入在 JAVA 中没有以数字结尾,为什么会导致我的输出出现额外的空行
问题描述
嗨,我是一名正在研究这个的学生,我的老师要求我们编写一个可以得到正确输出的程序。请求是输入总是以整数 k 开头,并且在第一个输入之后将有 k 行 String 跟随。这意味着如果 k 为 4 并且在输入 k 之后,还有其他 4 行输入,并且所有这些输入都是字符串。并且请求要求我需要忽略第一个 k,只查找第二个 k 并打印第二个 k 之后的 k 行输入作为输出。
我试过的是我写了这些代码
public class CS220_A1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int firstInt = input.nextInt();
String temp = new String();
for (int i = 0; i < firstInt + 1; i++) {
temp = input.nextLine();
}
int secondInt = input.nextInt();
for(int j = 0; j < secondInt + 1; j++) {
System.out.println(input.nextLine());
}
}
}
作为样本给出的输入是
4
bGTRYLEsJhStPVDMdmoxZle
ZYEDXeMaGotpjAtpcaJQnHyTDXNnhgYMOpIdMBvn
oTRJptFnaMRZNuapwqWYbXIEOothm
aLKzsZAIuyW
3
oi
oii
oiii
0
并且输出应该是
oi
oii
oiii
我的代码在这个示例中运行良好,但是当我自己进行测试时,我发现如果输入没有以整数(或者可能是数字)结尾,则输出会有所不同。如果我让输入为
0
3
asc
azxv
aabbb
输出只会有“asc”和“azxv”出来,直到我按下回车按钮。但是它没有转向右侧,当我按下回车按钮后,结果上会显示一个空行,这导致我的输出不正确。
不确定图片是否有效。我决定把输出放在这里不正确的输出将显示如下
asc
azxv
在我按下回车按钮后,它显示为
asc
azxv
aabbb
有一个空行出来!我尝试了很多来修复它,但我失败了。我想知道如何解决这个问题,我想知道我的想法是否从正确的方面开始!非常感谢!
解决方案
推荐阅读
- python - 如何修复:KeyError:“[Index([...], dtype='object')] 都在 [columns] 中”
- flutter - 使用 Http 的 SearchDelegate
- java - 在回收站视图中组织两种视图类型
- c# - 如何为代码的有限部分使用命名空间
- line-breaks - Pango 换行
- android - 如何更新、插入和删除 Sqlite 中的行?
- git - Git 说“已经是最新的”但是没有文件
- firebase - Firebase 索引“订单”:“数组”
- php - 如何告诉 PhpStorm 定义了某个变量
- spring - 两个项目之间的公共实体