【发布时间】:2020-01-03 16:17:02
【问题描述】:
我正在尝试制作一个简单的 Java 程序,您首先输入 15 个数字(整数、正数和负数),假设这些将被加载到 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];
}
}
}
}
这让我很困惑。老实说,我不知道该怎么做。我需要使用某种嵌套循环吗?
非常感谢您,任何帮助将不胜感激。
【问题讨论】:
-
我建议你花一些时间来学习如何调试你自己的代码。这将帮助您了解您的代码实际在做什么,并了解它与您编写它时的想法有何不同。它还将帮助您在将来避免同样的错误。查看this article 了解开始调试代码的一些技巧。
-
Eclipse 和 Netbeans 等 IDE 可让您逐步执行代码并检查变量,从而更轻松地查看正在发生的事情。
-
在最后一个 for 循环中,您必须更改行 arrayOne[i] = arrayTwo[i];到 arrayTwo[i] = arrayOne[i]; ,因为 arrayTwo 将包含