Java 这个do/while循环无缘无故重复,如何修复它?
我试图做一个虚假的信用卡生成器。所以,基本上问题是,当用户说“不”时,程序会继续运行并显示“再见”,但随后又重新启动,并且找不到原因 我曾想过将所有这些do/while循环放在for循环中,这样我就可以在最后加上一个中断,但这会导致死代码(这是合乎逻辑的)Java 这个do/while循环无缘无故重复,如何修复它?,java,loops,error-handling,while-loop,do-while,Java,Loops,Error Handling,While Loop,Do While,我试图做一个虚假的信用卡生成器。所以,基本上问题是,当用户说“不”时,程序会继续运行并显示“再见”,但随后又重新启动,并且找不到原因 我曾想过将所有这些do/while循环放在for循环中,这样我就可以在最后加上一个中断,但这会导致死代码(这是合乎逻辑的) 我希望当用户说“不”时它会停止,但它会重新开始根据您添加的图像,您正在调用循环代码两次。一次来自构造函数,一次来自main 这是您当前的代码: Generator gen = new Generator(); gen.generateCode
我希望当用户说“不”时它会停止,但它会重新开始根据您添加的图像,您正在调用循环代码两次。一次来自构造函数,一次来自
main
这是您当前的代码:
Generator gen = new Generator();
gen.generateCode();
但是,generator
类中的构造函数包含对相同方法generateCode()
的调用,如下所示:
this.generateCode();
当您使用new Generator()
时,这也会运行构造函数内部的代码,因此您将运行相同的代码两次。您可以通过两次尝试运行程序来确认这一点,第二次运行后程序应该停止执行
删除
this.generateCode()
,因为这不是应该从构造函数运行的真正代码。根据您添加的图像,您将调用循环代码两次。一次来自构造函数,一次来自main
这是您当前的代码:
Generator gen = new Generator();
gen.generateCode();
但是,generator
类中的构造函数包含对相同方法generateCode()
的调用,如下所示:
this.generateCode();
当您使用new Generator()
时,这也会运行构造函数内部的代码,因此您将运行相同的代码两次。您可以通过两次尝试运行程序来确认这一点,第二次运行后程序应该停止执行
删除
this.generateCode()
,因为这不是应该从构造函数中运行的真正代码。他的意思是缺陷可能不在generateCode方法中,而是在调用它的方式中。如果该方法到达打印“再见”的位置,那么问题就在别处,无论是在直接调用方中,还是在调用堆栈的下游某处。顺便说一句,在原始代码中,如果键入“N”,它确实会正确终止。但是,如果您键入“n”、“no”、“no”或其他类似的变体,则无法运行。您是否介意添加用于调用“generator.generateCode();”的其余代码?它可以帮助排除故障。由于您是编程新手,调试是您的朋友:)问题不在于您错误地调用了该方法。这是因为您正在重复调用它。他的意思是,缺陷可能不在generateCode方法中,而是在调用它的方式中。如果该方法到达打印“再见”的位置,那么问题就出在其他地方,无论是在直接调用方还是在调用堆栈的下一个地方。顺便说一句,在原始代码中,如果您键入“N”,它确实会正确终止。但是,如果您键入“n”、“no”、“no”或其他类似的变体,则无法运行。您是否介意添加用于调用“generator.generateCode();”的其余代码?它可以帮助排除故障。由于您是编程新手,调试是您的朋友:)问题不在于您错误地调用了该方法。这是因为您正在反复调用它。