分享
三行代码  ›  专栏  ›  技术社区  ›  Sofía González

制作一个程序,根据用户的要求打印x到y的数字

  •  1
  • Sofía González  · 技术社区  · 1 周前

    我只专注于让它打印所有的数字,因为我正在一步一步地走。

    我试过两件事

    在第一个代码中,它要求两个数字,但不打印任何内容

    Scanner scanner = new Scanner (System.in);
    
    double b = scanner.nextDouble();
      
    for ( double a = scanner.nextDouble() ; a <= b; a++)
    {
        System.out.println(a);
    }
    

    在第二个代码中,它要求3个输入,如果最后一个输入等于第一个输入,它会正常打印循环,我想我可以理解为什么会发生这种情况,但我不知道如何修复它:

        Scanner scanner = new Scanner (System.in);
        
        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
      
        for ( a = scanner.nextDouble() ; a <= b; a++)
        {
            System.out.println(a);
        }
    
    1 回复  |  直到 1 周前
        1
  •  0
  •   Arvind Kumar Avinash    1 周前

    您需要使用值初始化循环计数器 a 并使循环迭代,直到 b 如下图所示:

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            int count = 0;
            double sum = 0;
            for (int i = a; i <= b; i++) {
                if (i % 3 == 0) {
                    System.out.println(i);
                    sum += i;
                    count++;
                }
            }
            System.out.println("Average: " + sum / count);
        }
    }
    

    示例运行:

    2
    10
    3
    6
    9
    Average: 6.0
    

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            double a = scanner.nextDouble();
            double b = scanner.nextDouble();
            int count = 0;
            double sum = 0;
            for (double i = a; i <= b; i++) {
                if (i % 3 == 0) {
                    System.out.println(i);
                    sum += i;
                    count++;
                }
            }
            System.out.println("Average: " + sum / count);
        }
    }
    

    示例运行:

    2
    10
    3.0
    6.0
    9.0
    Average: 6.0