Java I';m制作一个列出数字2-100的方法,列出所有数字旁边的系数

Java I';m制作一个列出数字2-100的方法,列出所有数字旁边的系数,java,Java,我要做一个方法,列出数字2-100,列出所有数字旁边的因子;如果没有因子,则列出素数 import javax.swing.JOptionPane; public class Factors { public static void main(String[] args) { int limit = 100; for(int i=1; i <= 100; i++) { System.out.print(i + " ");

我要做一个方法,列出数字2-100,列出所有数字旁边的因子;如果没有因子,则列出素数

import javax.swing.JOptionPane;

public class Factors {
    public static void main(String[] args) {
        int limit = 100;
        for(int i=1; i <= 100; i++) {
            System.out.print(i + " ");
            if( i % 2 != 0)
                System.out.println("Prime");
            else
                System.out.println("");
        }
    }
}

显然那是不对的

要列出数字的所有倍数,请使用重复加法

int num = 3;
int max = 100;

for(int i = num; i <= max; i += num)
 System.out.println(i);//3 6 9...

可能是因为你最初的答案——只是“筛选”部分——没有给出任何关于因子分解的信息。我也不确定你的增强是否有帮助。你似乎混淆了“因素”和“多重”这两个词。你就这么试过吗?您是否尝试过改进代码?现在,这闻起来像是你试图让我们帮你做家庭作业,我对此过敏……我试过其他一些方法,但简单地说,我认为我没有正确地设置它。我不能让它只说明哪个是素数,哪些是可以这样做的数。我应该改变我的if语句吗?好的,这不是关于分解一个特定的任意数,而是关于提供2-100的所有因子。。。它只是主要因素还是所有因素(例如,对于42,你会说2,3,7还是1,2,3,6,7,14,21,42)?如果这只是主要因素,那么你是列出每个因素一次,还是必须考虑到它涉及的次数?(例如,对于8,你是说2?还是2,2,2?)是的,这是所有的因素,它们将列在其编号旁边。我们在我们的循环单元,老实说,我认为这是我们经历过的最令人困惑的一个单元!好的,那么,第一个答案的第一部分提供了一个起点。。。对于每个数字(2,3,4,5,6),循环其倍数并将基数添加到每个倍数的因子列表中。例如,当你达到7时,你会为14、21、28、35等中的每一个添加7。试着实现这一点,如果你对它有具体的问题,请询问。
boolean[]primes = new boolean[max];
Arrays.fill(primes, true);

for(int i = 2; i * i < max; ++i)
 if(primes[i])//consider all those numbers which are marked prime till then
  for(int j = i * i; j < max; j += i)//get all factors of that number
   primes[j] = false;//mark all it's factors as not primes

for(int i = 2; i < max; ++i)
 if(primes[i])
  System.out.println(i + " Prime");
 else
  System.out.println(i);