Java True算法工作正常,false未显示正确的输出

Java True算法工作正常,false未显示正确的输出,java,if-statement,Java,If Statement,我被要求创建一个程序,要求购买眼镜的用户向任何附加配件提供是或否输入。虽然可能不是有史以来最干净的代码,但true语句工作正常,我的“false”或else语句显示的输出错误。我尝试了嵌套的ifs、else语句,但没有指定假布尔值。我猜我的问题在于我声明和初始化整数的方式。在整个过程的某个地方,这些值没有被正确存储(如果有的话)。如果这看起来像是一个非常基本的问题,请原谅,我已经很久没有编写代码了,当时是VisualBasic,Java对我来说非常陌生。我要补充的是,我不是在寻找解决方案,只是寻

我被要求创建一个程序,要求购买眼镜的用户向任何附加配件提供是或否输入。虽然可能不是有史以来最干净的代码,但true语句工作正常,我的“false”或else语句显示的输出错误。我尝试了嵌套的ifs、else语句,但没有指定假布尔值。我猜我的问题在于我声明和初始化整数的方式。在整个过程的某个地方,这些值没有被正确存储(如果有的话)。如果这看起来像是一个非常基本的问题,请原谅,我已经很久没有编写代码了,当时是VisualBasic,Java对我来说非常陌生。我要补充的是,我不是在寻找解决方案,只是寻求指导。提前感谢您,我通常只会在办公时间走进去,但我目前部署的dang资源几乎为零

我们还处于课程的早期阶段,我已经考虑了我们的教授可能希望看到我们使用do或while语句的选项。不幸的是,任何指导都是相当抽象的(我知道这可能是出于发展自由的目的)


所以布尔值就是您所想的,但是您需要更新它们,以反映用户的下一个响应。因此,在您的提示之后(对于色调和其他颜色),您需要说just
myScanner.next()
您需要说:

myInput = myScanner.next();
isTrue = (myInput.equals("y"));
isFalse = (myInput.equals("n"));

所以布尔值就是您所想的,但是您需要更新它们,以反映用户的下一个响应。因此,在您的提示之后(对于色调和其他颜色),您需要说just
myScanner.next()
您需要说:

myInput = myScanner.next();
isTrue = (myInput.equals("y"));
isFalse = (myInput.equals("n"));

您没有在每个选项之后更新字符串
myInput
和布尔变量
isTrue
isFalse
,这导致用户在高级后为选项输入的内容无法准确说明,因为它每次都使用第一个“高级”选项中的布尔值


我没有为您编写代码,因为您明确表示不要只提供指导,而不提供解决方案。

您没有在每个选项后更新字符串
myInput
和布尔变量
isTrue
isFalse
,这导致用户在premium之后为选项输入的任何内容都无法准确说明因为它每次都使用第一个“premium”选项中的布尔值


我没有为您编写代码,因为您明确表示不要只提供指导。请使用逻辑一致的代码行和代码块缩进形式。缩进的目的是使代码的流程更易于遵循!大多数IDE都有专门用于格式化代码的快捷键。使用逻辑一致的代码行和代码块缩进形式。缩进的目的是使代码的流程更易于遵循!大多数IDE都有专门用于格式化代码的键盘快捷键。感谢您的输入和时间,非常感谢!感谢您的投入和时间,非常感谢!这就成功了,我似乎走在了正确的轨道上,只是不是一直走到那里。非常感谢。这就成功了,我似乎走在了正确的轨道上,只是不是一直走到那里。非常感谢。