虽然循环问题为初学者程序员

时间:2017-02-20 12:49:44

标签: java while-loop

请记住我是一个全新的计算机程序员,我非常坚持我必须编写的这个程序。我之前已经问了一个问题,得到了一些很好的反馈,而且几乎完成了。我遇到的问题是,在程序中我使用循环但技术上我只应该使用while循环并且在尝试将其恢复为while循环时遇到重大编译问题。以下是代码示例。

import java.util.Scanner;

public class Harrison5a1 
{
    public static void main(String[] args) 
    {
        Scanner input = new Scanner(System.in);

         int integerx;
        System.out.print("Enter an even integer x: ");
        integerx = input.nextInt();

        while (integerx % 2 != 0) 
        {
            System.out.print("Try again, enter an even integer x: ");
            integerx = input.nextInt();
        }

        for (int x = 4; x <= integerx; x += 4) 
        {
            System.out.println("4 is a multiple of " + x);
        }
    }
}

2 个答案:

答案 0 :(得分:2)

如果您想要的是将最后一个循环(for循环)转换为一段时间,那么您需要的只是

int x = 4; // the for loop initialization 
while(x <= integerx){ // for loop evaluation (done every iteration)
    System.out.println("4 is a multiple of " + x); // whatever you want
    x += 4; // for loop update 
}

这与foor循环完全相同,每个for循环都可以转换为while循环,反之亦然,它可以更具可读性,但这取决于程序员。

编辑我已经在Online Compiler Java上对其进行了测试,它可以按照您的意愿运行(如果我在评论中理解您的要求)。

答案 1 :(得分:0)

您在2天前发布的目前正在尝试修复的代码的原始要求如下: 您的计划将执行以下操作:

  1. 提示用户输入偶数x
  2. 继续向用户提示x,直到用户输入偶数
  3. 程序将打印2和x之间的所有偶数整数,它们是4的倍数。
  4. 上面的代码都不会完成第3步。我建议你仔细阅读第3步,弄清楚如何在没有代码的情况下完成它(例如在一张纸上),然后再尝试对其进行编码。您还需要阅读您的教科书并实际了解这些循环正在做什么,而不是要求人们为您编写它们。大概是你在学校学习如何编码。在你真正尝试这样做并查看你的教科书和其他一些例子后,回过头来问一个合理的问题。