Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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 如何检查数组中有多少个数字低于499?_Java_Arrays - Fatal编程技术网

Java 如何检查数组中有多少个数字低于499?

Java 如何检查数组中有多少个数字低于499?,java,arrays,Java,Arrays,我正在读一门Java课程,我已经解决了这篇文章,一切都正常,但有一件事。我想知道每个区间有多少个随机数。通过查看下面的代码,您可以了解我的意思,我在需要随机数的地方插入了[amount]。我似乎没有正确的逻辑。有人能帮我吗 public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("How many random numbers from 0 t

我正在读一门Java课程,我已经解决了这篇文章,一切都正常,但有一件事。我想知道每个区间有多少个随机数。通过查看下面的代码,您可以了解我的意思,我在需要随机数的地方插入了[amount]。我似乎没有正确的逻辑。有人能帮我吗

public static void main(String[] args) 
{
    Scanner in = new Scanner(System.in);

    System.out.print("How many random numbers from 0 to 999? ");
    int amount = in.nextInt();


    int[] numbers = new int[amount];
    System.out.print("Here is the random numbers: ");
    for (int i = 0; i < numbers.length; i++) 
    {
        numbers[i] = (int) Math.floor(Math.random()*1000);
        System.out.print(numbers[i] + " ");
    }
    System.out.println("");


    System.out.print("These [amount] numbers are from 0 to 499: ");
    for (int i = 0; i < numbers.length; i++) 
    {
        if (numbers[i] <= 499)
        {
            int[] numbersLow = Arrays.copyOf(numbers, numbers.length);
            System.out.print(numbersLow[i] + " ");
        }       
    }
    System.out.println("");


    System.out.print("These[amount] numbers are from 500 to 999: ");
    for (int i = 0; i < numbers.length; i++) 
    {
        if (numbers[i] >= 500)
        {
            int[] numbersHigh = Arrays.copyOf(numbers, numbers.length);
            System.out.print(numbersHigh[i] + " ");
        }
    }

}

首先,System.out部分需要在循环之后,您之前怎么可能知道

那么int[]numbersLow对我来说没有任何意义。如果您只想计算500以下的数字,请按如下方式操作:

int counterbelow = 0;
System.out.print("These are the numbers between 0 and 499");
for (int i = 0; i < numbers.length; i++) 
{
    if (numbers[i] <= 499)
    {
        counterbelow++;
        System.out.print(numbers[i] + " ");
    }       
}

System.out.print("These are "+counterbelow+" numbers");

首先,System.out部分需要在循环之后,您之前怎么可能知道

那么int[]numbersLow对我来说没有任何意义。如果您只想计算500以下的数字,请按如下方式操作:

int counterbelow = 0;
System.out.print("These are the numbers between 0 and 499");
for (int i = 0; i < numbers.length; i++) 
{
    if (numbers[i] <= 499)
    {
        counterbelow++;
        System.out.print(numbers[i] + " ");
    }       
}

System.out.print("These are "+counterbelow+" numbers");

将输出放在回路下方

int amount = 0;
int[] numbersLow = new int[numbers.length];
for (int i = 0; i < numbers.length; i++) 
{
    if (numbers[i] <= 499)
    {
        numbersLow[amount] = numbers[i];
        amount++;
    }       
}
System.out.println("These " + amount + " numbers are from 0 to 499: ");
for (int n: numbersLow) 
    System.out.print(n + " ")

将输出放在回路下方

int amount = 0;
int[] numbersLow = new int[numbers.length];
for (int i = 0; i < numbers.length; i++) 
{
    if (numbers[i] <= 499)
    {
        numbersLow[amount] = numbers[i];
        amount++;
    }       
}
System.out.println("These " + amount + " numbers are from 0 to 499: ");
for (int n: numbersLow) 
    System.out.print(n + " ")

在for循环中,有一个计数器变量,该变量在if语句每次成功时递增,然后在循环后打印。在for循环中,有一个计数器变量在if语句每次成功时递增,然后在循环后打印。关闭,但在循环中定义下面的计数器将使其始终为0。在循环之前定义它。另外,将数字列表保存在字符串中,并在第一次打印后打印出来LnnumbersLow[i]应为数字[i]。关闭,但在循环中定义下面的计数器将使其始终为0。在循环之前定义它。此外,将数字列表保存在字符串中,并在第一次打印后打印LnnumbersLow[i]应为数字[i]。