【问题标题】:New to Java, learning quick, but can't figure out why my for loops wont printJava 新手,学得很快,但不知道为什么我的 for 循环不打印
【发布时间】:2014-02-21 03:57:07
【问题描述】:
public class poundtokilogram {
public static void main(String[] args) {
    System.out.println("Kilograms     Pounds   |   Pounds     Kilograms");
    System.out.println("-----------------------------------------------");

    int kilos = 1;
    int pounds = 20;

    for ( kilos = 1; kilos > 200; kilos++ ) {
        for ( pounds = 20; pounds > 515; pounds++) {
            double kiloc = pounds * .453;
            double poundc = kilos * 2.2;
            System.out.print(kilos + "    " + poundc + " | " + pounds + "     " + kiloc + "\n");
        }
    }
}

}

这是代码,基本上我正在尝试打印一个转换图表,其中一侧是公斤到磅,另一侧是磅到公斤(这只是我正在学习的书中的一个练习)并且出于某种原因当我运行它时,它只会打印出前两行。顺便说一句,第一次在 StackOverflow 上发帖,不胜感激有关如何更清晰的建议。

【问题讨论】:

  • 您是否尝试在调试器中单步执行代码? Nambi 在下面给出了正确的答案,但学习使用调试器也会对你有所帮助
  • 欢迎来到 StackOverflow!请不要忘记对您认为有帮助的答案进行投票,并通过单击答案左上角的向上箭头和复选标记来接受最能回答您问题的答案。
  • 老实说,我一开始并不完全确定如何做到这一点。顺便说一句,使用 Eclipse,但我对使用 Java 还很陌生,所以我不会想到很多常识性的东西。
  • 次要主题:类名应以大写字母开头 :) Poundtokilogram

标签: java loops for-loop


【解决方案1】:

您正在检查 kilos 是否大于 200 且磅大于 515

改一下

for ( kilos = 1; kilos > 200; kilos++ ) { 
for ( pounds = 20; pounds > 515; pounds++) {

for ( kilos = 1; kilos < 200; kilos++ )
for ( pounds = 20; pounds < 515; pounds++) {

【讨论】:

  • 哇,我觉得自己很愚蠢,如果我没有注意到那些东西,我想我已经在这个屏幕上主演了太久了 XD。谢谢 man1
  • @XechaTigs 没关系,伙计
【解决方案2】:

你的外循环甚至没有开始,因为条件是kilos 必须大于 200。我想你想说:kilos &lt; 200

此外,在内部循环中,您有pounds &gt; 515,但在评估条件之前您没有修改磅。将条件更改为pounds &lt; 515(这就是我认为你想要执行的)

【讨论】:

  • 是的,这两个简单的调整就做到了。
猜你喜欢
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 2019-12-23
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多