循环前的无限缓冲区?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环前的无限缓冲区?相关的知识,希望对你有一定的参考价值。

简单的代码重复一个整数只是反转它。必须通过按Enter来打破循环,但是当我尝试运行此代码时,它只是无限缓冲,并且没有显示任何内容?

import java.util.*;
public class ReverseDisplay
{
    public static void main(String Args[])
    {
        Scanner kb = new Scanner(System.in);
        boolean repeat = true;
        while (repeat == true);
        {
            System.out.print("Enter an integer to be reversed or hit enter to end program:");
            int line = kb.nextInt();
            int length = (int)(Math.log10(line) + 1);
            if (length == 1)
            {
                repeat = false; 
            }
            else
            {
                System.out.print("The reverse of " + line + " is ");
                reverseDisplay(line);
            }
        }

    }
    public static void reverseDisplay(int value)
    {   
        if (value < 10)
        {
            System.out.println(value);
            return;
        }
        else
        {
            System.out.print(value % 10);
            reverseDisplay(value / 10);
        }
    }   
}

编辑:删除分号导致它运行正常,感谢您的快速响应。

答案

应该没有“;”过了一阵子”。您的代码在无限循环中有效地运行,绝对不做任何事情。

以上是关于循环前的无限缓冲区?的主要内容,如果未能解决你的问题,请参考以下文章

使用后台并行无限循环 C# 读取缓冲区 [关闭]

无限循环 - 延迟 - 单独的线程

在while循环中使用scanf进行无限循环

缓冲区溢出漏洞实验

如何处理错误的数据类型输入

循环(环形)缓冲区之Boost::circular_buffer