我正在尝试制作一个简单的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
中的值。