首页 > 解决方案 > 我的程序显示从 1 到 [用户输入],只是忽略了起始数字输入。有问题的代码是合数一

问题描述

我用于在两个区间之间查找和显示合数的代码无法正常工作。它忽略用户输入的起始数字,但遵循用户输入的结束数字。我想知道有什么问题。

import java.util.Scanner;

public class Herreraloop {

    public static void main (String [] args) {
        Scanner in = new Scanner (System.in);     
        int start, end;
        
        System.out.print("Enter starting number: ");
        start = in.nextInt();
        System.out.print("Enter end number: ");
        end = in.nextInt();

        System.out.print("Prime numbers: ");
        while (start < end) {
            boolean flag = false;
            for (int i = 2; i <= start / 2; ++i) {
                if (start % i == 0) {
                    flag = true;
                    break;
                }
            }

            if (!flag && start != 0 && start != 1)
                System.out.print(start + " ");

            ++start;
        }

        System.out.print("\nComposite numbers: ");
        for(int i = 2; i <= start; ++i) {
            int count = 0;
            for(int j = 2; j <= i / 2; j++) {
                if(start % j == 0)
                    ++count;
            }

            if(count!=0)
                System.out.print(i + " ");
            i++;
        }
    }
}

标签: java

解决方案


推荐阅读