【问题标题】:Nest loop with two while loops带有两个 while 循环的嵌套循环
【发布时间】:2018-03-02 04:12:21
【问题描述】:

所以我必须想出一个输出报告的代码,并且我必须将这个 while 循环包含在另一个 while 循环中,这个循环会询问用户是否要继续输入信息。只要用户回答“Y”,就继续询问所需的输入并打印报告。一旦用户回答“N”,则停止进一步处理。

我刚刚完成了生成报告的循环,但我不知道如何用另一个具有上述要求的循环来封闭这个循环。

我目前的报告代码是这样的:

while (bookVal > salvageVal){
    //read in stuff

    yearlyDepr = bookVal * (ddRate / 100);
    accDepr = accDepr + yearlyDepr;
    bookVal = bookVal - yearlyDepr;
    year++;

    if (bookVal < salvageVal){
        yearlyDepr = (bookVal + yearlyDepr) - salvageVal;
        accDepr = purchPrice - salvageVal;
        bookVal = salvageVal;

    }
    System.out.printf("%d %,18.0f %,18.0f %,18.0f%n" , year, yearlyDepr, accDepr, bookVal);
}

我尝试在这个循环的末尾添加一个“读入 Y 或 N”,并在其上设置另一个 while 循环,例如:while (answer == 'Y'),但这只是把所有事情都搞砸了...一些帮助会很好,谢谢!

【问题讨论】:

  • 先尝试编码,然后告诉我们你的卡在哪里
  • 围绕这个循环第二个循环会做你想做的事。如果没有,则表明您做错了什么。向我们展示您在第二个循环中的尝试,并解释“搞砸一切”的含义。
  • 除了描述你所尝试的文字之外,你还应该展示你描述的实际代码。
  • @Code-Apprentice 看起来 OP 是在比较 'Y' 而不是 "Y",所以可能不是骗子
  • @ScaryWombat 啊……最近 Python 和 JavaScript 太多了,它们是同一回事。

标签: java loops while-loop nested-loops


【解决方案1】:
Scanner s=new Scanner(System.in);
String toContinue="y";
while( (your code) && "y".equalsIgnoreCase(toContinue))
{
      //your code
      System.out.println("Do you want to continue : (Y-to continue,any otherto stop )");
      toContinue=s.next();
}

【讨论】:

  • 这不会编译,因为'y' 不能分配给String toContinue
  • String toContinue="y";
  • 感谢这有帮助,尽管我没有使用带有以下内容的部分:while((your code) &&。我没有得到应该做的事情。
猜你喜欢
  • 1970-01-01
  • 2021-08-21
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多