繁体   English   中英

for循环的最后一次迭代不输出

[英]Last iteration of for loop not outputting

如果格式不正确,请原谅我,这是我的第一篇文章。 我查看以前是否已发现此问题,而找不到遇到相同问题的人。

我正在尝试学习Java,但终生无法弄清为什么我的for循环没有输出最后的迭代。 我正在经历Codeabbey的练习,并且相对容易地完成了前两个练习。 但是,在第三个和第四个问题上,我无法在最后一次迭代中将for循环输出。

我开始在Google上搜索,以为我可以将自己的答案与其他人的答案进行比较。 当我的代码与我找到的人几乎完全相同时,我看不到为什么我的代码无法工作。 因此,我复制了他们的代码,令我惊讶的是,当该代码在上一次迭代中也不会输出时,我遇到了同样的问题。

因此,这是上下文。

该网站首先为您提供一个数字,即以下数字的套数。 对于第三个问题,您需要将两个的集合相加,输出总和后跟一个空格,然后循环遍历整个批处理。 对于第四个问题,类似的情况是第一个数字是批次中的套数,但是您要比较两个数字并输出较低的数字。 我将在这里针对第三个问题复制我的代码,因为该代码更简单。

这是代码:

import java.util.Scanner;

public class Summation {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        for(int i = 0; i < n;i++){

            int a = in.nextInt();
            int b = in.nextInt();

            System.out.println(a + b + " ");
        }

    }

}

这是您要复制和粘贴的输入:

3

100 8

15245

1945年54

这是我的输出:

108260

因此,如您所见,我们在这里缺少最后的输出。 我尝试将for循环更改为(i < (n+1) ) ,但仍然没有任何改变。 任何帮助将不胜感激!

好的,所以我测试了一下,并与您的号码一一对应地输入了。 复制粘贴它们,在复制结束时再按一次Enter。 如果您不按回车键,则扫描程序会认为您仍在添加第二个数字,因此直到按回车键后,它才会继续。

我会尝试使用其他人建议的println(),或在程序结尾处调用flush(),以确保某些内容未保存在缓冲区中且未被写入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM