我正在尝试制作一个简单的Java程序,首先输入15个数字(INTS,正数和负数),假设它们将被加载到arrayOne中。之后,所有低于'-5'的数字都需要加载到第二个数组(arrayTwo)中。我想打印所有arrayTwo的数字,同时仍然保留所有arrayOne的数字。

我知道我的代码根本没有任何意义,因为我仍然是一个初学者(大约一个月上下班)。到目前为止,这是我的代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        int[] arrayOne = new int[15];
        int count = 0;

        System.out.println("Input 15 ints:  ");

        for (int i = 0; i <= arrayOne.length-1; i++){
            arrayOne[i] = scanner.nextInt();
            if (arrayOne[i] < -5){
                count++;
            }
        }

        int[] arrayTwo = new int[count];

        for (int i = 0; i <= arrayOne.length-1; i++){
            if (arrayOne[i] < -5){
                arrayOne[i] = arrayTwo[i];
            }

        }


    }
}


这让我感到困惑。老实说,我不知道该怎么办。我是否需要使用某种嵌套循环?

提前非常感谢您,任何帮助将不胜感激。

最佳答案

int[] arrayTwo = new int[count];
int index = 0;
for (int i = 0; i <= arrayOne.length-1; i++){
    if (arrayOne[i] < -5){
         arrayTwo[index++] = arrayOne[i];
    }
}


index将用于写入第二个数组。

index++是后缀增量运算符。您可以在这里阅读有关内容-Java: Prefix/postfix of increment/decrement operators?

您做错了作业。必须将arrayTwo[..] = arrayOne[..]中的值分配给arrayOne中的值。

08-06 01:41