【问题标题】:How do you convert an if else statement into a for loop? [closed]如何将 if else 语句转换为 for 循环? [关闭]
【发布时间】:2016-10-22 23:17:04
【问题描述】:

我正在创建一个 if else 语句,它将确定一年是否为闰年。我已经编写了一个有效的 if else 语句,但我不确定哪个变量将进入 for 循环以使其重复。

if (year%4==0 || year%100==0 && !not)
     System.out.println (year + " is a leap year");

    else
        System.out.println (year + " is not a leap year");

如果我将 for 循环转换为 for 循环,它会是什么样子? if else 语句是在 for 循环内还是直接从代码中取出?

【问题讨论】:

  • 转换是什么意思?条件语句甚至与循环无关。你想达到什么目的?
  • 你在循环中做了什么改变?你增加year吗?
  • 你想排除一堆年份,并打印出每个年份的结果吗?
  • “if-then-else”和“for-each”的语义如此不同,以至于无法提供任何适合一般情况的答案。
  • 我想要实现的是使插入的 if else 语句,通过要求用户输入另一个年份然后重新打印结果来自我重复。

标签: java loops if-statement


【解决方案1】:

For 循环是重复某个代码块的迭代语句,另一方面,if 语句是执行决策情况的条件语句。你不能从一个到另一个,就像在大多数情况下你不能重复做决定一样。 然而,如果你想重复代码块,在重复时你想做两件最明显的事情:

  1. 重复并检查不同年份;得到岁月 来自用户或其他来源。
  2. 或重复代码并检查每个连续年份

在情况 2 中,你实际上可以将一些东西合并到 for 循环中

案例一:

for(int counter = 0; counter < n; counter++){
// get year data from the console or from other sources
if (year%4==0 || year%100==0 && !not)
 System.out.println (year + " is a leap year");

else
    System.out.println (year + " is not a leap year");
}

}

案例2:

 for (int year = 2000; year <= 2100; year++) {
//checking each year from 2000 to 2100
    if (year%4==0 || year%100==0 && !not)
         System.out.println (year + " is a leap year");

        else
            System.out.println (year + " is not a leap year");
        }
    }

还有其他可能与循环和条件有关的事情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多