Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我想做一个选择素数的程序。don';我不明白为什么我的程序没有';行不通_Java - Fatal编程技术网

Java 我想做一个选择素数的程序。don';我不明白为什么我的程序没有';行不通

Java 我想做一个选择素数的程序。don';我不明白为什么我的程序没有';行不通,java,Java,每当我尝试运行这个程序时,它首先显示“素数的上界?”在插入一个整数并按enter键后,我什么也看不到。我希望它显示一些“假”值,但我找不到问题所在。Java没有显示问题所在 import java.util.Scanner; public class Lab11 { static int n; boolean [] primedetermine = new boolean [n]; int [] list; public static void main (

每当我尝试运行这个程序时,它首先显示“素数的上界?”在插入一个整数并按enter键后,我什么也看不到。我希望它显示一些“假”值,但我找不到问题所在。Java没有显示问题所在

import java.util.Scanner;

public class Lab11 {

    static int n;
    boolean [] primedetermine = new boolean [n];
    int [] list;

    public static void main (String[]args) {
        Scanner in = new Scanner (System.in);
        System.out.print ("The prime's upper bound? ");
        int max = in.nextInt();
        boolean prime [] = new boolean [max];
        computePrimes (prime);
    }

    public static void computePrimes(boolean[] primedetermine) {
        for (int x = 0; x<n; x++) {
            primedetermine [x] = false;
        }
        for (int prm = 2; prm <= n; prm++) {
            for (int prm2 = 2; prm * prm2 <= 21; prm++) {
                primedetermine [prm * prm2 -1] = true;
            }
        }
        for (int x = 1; x<=n; x++){
            if (primedetermine[x-1] == false);
                System.out.println(primedetermine[x-1]);
            }
        }
    }   
}   
import java.util.Scanner;
公共类Lab11{
静态int n;
布尔值[]primedeterminate=新布尔值[n];
int[]列表;
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“质数的上限?”);
int max=in.nextInt();
布尔素数[]=新布尔值[max];
计算(素数);
}
公共静态void计算(布尔值[]primedeterminate){

对于(int x=0;x您正在使用从未初始化的变量
n
(因此默认为0,并且从未输入循环):


for(int x=0;xHave you debugate your code?n将始终为0,因此循环不会迭代。请注意,n值从未初始化,这样的错误对于自称geniushacker的人来说是不合适的)这不是代码调试服务
for (int x = 0; x<n; x++)