Java 用“纠正问题”;而";环

Java 用“纠正问题”;而";环,java,Java,我今天刚开始使用while循环,目前正在努力编写代码。我必须要求用户输入while循环的起始值和结束值。结果应显示起始值和结束值之间的所有4的倍数。这是家庭作业,因此必须包含while循环 import javax.swing.JOptionPane; public class WhileEx { public static void main(String[] args){ int start = Integer.parseInt(JOptionPa

我今天刚开始使用while循环,目前正在努力编写代码。我必须要求用户输入while循环的起始值和结束值。结果应显示起始值和结束值之间的所有4的倍数。这是家庭作业,因此必须包含while循环

    import javax.swing.JOptionPane;

    public class WhileEx {

    public static void main(String[] args){ 

    int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a     starting number (integer)")); 
    int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending   number (integer)"));  
    if(start==0 || start%4>0)
    {
        start = start +(4-start%4);
    }
    while (start <= end)
    {
        System.out.print (start +  "  ");       
        start = start + 4;

    }
    }
    }
例如,用户输入1作为起始值,输入4作为结束值。代码应显示4*介于起始值和结束值之间的值)。我不知道如何使中间的数字乘以4

import javax.swing.JOptionPane;

public class WhileEx {

public static void main(String[] args){ 

int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a starting number (integer)")); 
int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending number (integer)"));        

while (start < end)
{
    start = start * 4;
    System.out.print (start +  "  ");       
}
}
}
import javax.swing.JOptionPane;
公共类WhileEx{
公共静态void main(字符串[]args){
int start=Integer.parseInt(JOptionPane.showInputDialog(“输入起始数字(整数)”);
int end=Integer.parseInt(JOptionPane.showInputDialog(“输入结束数字(整数)”);
while(开始<结束)
{
开始=开始*4;
System.out.print(开始+“”);
}
}
}

我给你两个提示:

  • 大于或等于
    start
    的4的第一个倍数是多少?您的程序应该适用于
    start
    已经是4的倍数(例如32)而不是4的倍数(例如29)的情况

  • 你如何从4(比如32)到下一个(36)的某个倍数

  • 如果相反,你需要

    显示4*介于起始值和结束值之间的值

    最简单的解决方案是:

    while (start <= end)
    {
        System.out.print((start * 4) + " ");
        start = start + 1;
    }
    

    while(start我给你两个提示:

  • 大于或等于
    start
    的4的第一个倍数是多少?您的程序应适用于
    start
    已经是4的倍数的情况(例如32),而不是(例如29)

  • 你如何从4(比如32)到下一个(36)的某个倍数

  • 如果相反,你需要

    显示4*介于起始值和结束值之间的值

    最简单的解决方案是:

    while (start <= end)
    {
        System.out.print((start * 4) + " ");
        start = start + 1;
    }
    

    while(start我给你两个提示:

  • 大于或等于
    start
    的4的第一个倍数是多少?您的程序应适用于
    start
    已经是4的倍数的情况(例如32),而不是(例如29)

  • 你如何从4(比如32)到下一个(36)的某个倍数

  • 如果相反,你需要

    显示4*介于起始值和结束值之间的值

    最简单的解决方案是:

    while (start <= end)
    {
        System.out.print((start * 4) + " ");
        start = start + 1;
    }
    

    while(start我给你两个提示:

  • 大于或等于
    start
    的4的第一个倍数是多少?您的程序应适用于
    start
    已经是4的倍数的情况(例如32),而不是(例如29)

  • 你如何从4(比如32)到下一个(36)的某个倍数

  • 如果相反,你需要

    显示4*介于起始值和结束值之间的值

    最简单的解决方案是:

    while (start <= end)
    {
        System.out.print((start * 4) + " ");
        start = start + 1;
    }
    

    while(start要执行此操作,您需要
    %
    ,它在除法后返回rest

    这就是你可以做到的,有简单的for cycle和while cycle的解决方案

    public static void main(String[] args) {
        int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a starting number (integer)"));
        int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending number (integer)"));
    
        for (int i = start; i < end; i++) {
            if (i % 4 == 0){
                System.out.print(i + " ");
            }
        }
    
        System.out.println("");
    
        int i = start + (4 - (start % 4));
        while (i < end){
            System.out.print(i + " ");
            i += 4;
        }
    }
    

    为此,您需要
    %
    ,它在除法后返回rest

    这就是你可以做到的,有简单的for cycle和while cycle的解决方案

    public static void main(String[] args) {
        int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a starting number (integer)"));
        int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending number (integer)"));
    
        for (int i = start; i < end; i++) {
            if (i % 4 == 0){
                System.out.print(i + " ");
            }
        }
    
        System.out.println("");
    
        int i = start + (4 - (start % 4));
        while (i < end){
            System.out.print(i + " ");
            i += 4;
        }
    }
    

    为此,您需要
    %
    ,它在除法后返回rest

    这就是你可以做到的,有简单的for cycle和while cycle的解决方案

    public static void main(String[] args) {
        int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a starting number (integer)"));
        int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending number (integer)"));
    
        for (int i = start; i < end; i++) {
            if (i % 4 == 0){
                System.out.print(i + " ");
            }
        }
    
        System.out.println("");
    
        int i = start + (4 - (start % 4));
        while (i < end){
            System.out.print(i + " ");
            i += 4;
        }
    }
    

    为此,您需要
    %
    ,它在除法后返回rest

    这就是你可以做到的,有简单的for cycle和while cycle的解决方案

    public static void main(String[] args) {
        int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a starting number (integer)"));
        int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending number (integer)"));
    
        for (int i = start; i < end; i++) {
            if (i % 4 == 0){
                System.out.print(i + " ");
            }
        }
    
        System.out.println("");
    
        int i = start + (4 - (start % 4));
        while (i < end){
            System.out.print(i + " ");
            i += 4;
        }
    }
    

    我建议使用mod运算符->% 这会给你余数,如果它是0,你会得到4的倍数

    例如:

    if(start%4 == 0){
    System.out.print (start); 
    }
    start++;
    

    我建议使用mod运算符->% 这会给你余数,如果它是0,你会得到4的倍数

    例如:

    if(start%4 == 0){
    System.out.print (start); 
    }
    start++;
    

    我建议使用mod运算符->% 这会给你余数,如果它是0,你会得到4的倍数

    例如:

    if(start%4 == 0){
    System.out.print (start); 
    }
    start++;
    

    我建议使用mod运算符->% 这会给你余数,如果它是0,你会得到4的倍数

    例如:

    if(start%4 == 0){
    System.out.print (start); 
    }
    start++;
    

    由于您正在将
    start
    值更新为其4xtimes值,在while循环的下一次迭代中,将检查此新值,这是不正确的。不要更新while条件中使用的同一变量。使用另一个变量乘以4,然后使用它来显示

    编辑: 您需要使用递增运算符
    ++
    来增加
    开始
    值,以达到
    结束

    此外,您的while循环应如下所示:

    int temp=0;
    while (start < end)
    {
    temp = start * 4;
    System.out.print (temp +  "  ");       
    start++; 
    }
    
    int-temp=0;
    while(开始<结束)
    {
    温度=开始*4;
    系统输出打印(温度+“”);
    启动++;
    }
    
    更好的是:

    while (start < end)
    {
    System.out.print ((start * 4) +  "  ");       
    start++; 
    }
    
    while(开始<结束)
    {
    System.out.print((start*4)+“”);
    启动++;
    }
    

    @kittykittybangbang:感谢您建议进行编辑。

    因为您正在将
    start
    值更新为它的4xtimes值,在while循环的下一次迭代中,将检查这个新值,这是不正确的。不要更新while条件中使用的同一个变量。使用另一个变量乘以4,然后使用它来编辑展示

    编辑: 您需要使用递增运算符
    ++
    来增加
    开始
    值,以达到
    结束

    此外,您的while循环应如下所示:

    int temp=0;
    while (start < end)
    {
    temp = start * 4;
    System.out.print (temp +  "  ");       
    start++; 
    }
    
    int-temp=0;
    while(开始<结束)
    {
    温度=开始*4;
    系统输出打印(温度+“”);
    启动++;
    }
    
    更好的是:

    while (start < end)
    {
    System.out.print ((start * 4) +  "  ");       
    start++; 
    }
    
    while(开始<结束)
    {
    System.out.print((start*4)+“”);
    启动++;
    }
    

    @kittykittybangbang:谢谢你建议编辑。

    因为你正在更新
    开始