循环前的无限缓冲区?

问题描述 投票:0回答:1

简单的代码重复一个整数只是反转它。必须通过按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);
        }
    }   
}

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

java recursion while-loop
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.