Java 如果打印时数组中的int元素等于6,则跳过该元素
如果该元素的值等于6,则我希望在打印时跳过该元素。你能告诉我哪里错了吗Java 如果打印时数组中的int元素等于6,则跳过该元素,java,arrays,int,Java,Arrays,Int,如果该元素的值等于6,则我希望在打印时跳过该元素。你能告诉我哪里错了吗 public class Task3_Killing_6 { public static void main(String[] args) { int[] array = {2,4,5,6,8,6,3,4,6}; int[] killSix = new int [9]; for (int i = 0; i < array.length - 1; i++) {
public class Task3_Killing_6 {
public static void main(String[] args) {
int[] array = {2,4,5,6,8,6,3,4,6};
int[] killSix = new int [9];
for (int i = 0; i < array.length - 1; i++) {
if(array[i] == 6){
continue;
} else {
killSix[i] = array[i];
}
}
System.out.println(java.util.Arrays.toString(killSix));
}
}
我想成为
[2, 4, 5, 8, 3, 4]
这是因为数组是用9个元素初始化的,它们都得到默认值(即0) 我们需要使用列表,因为我们不知道大小。这应该可以解决这个问题:
public static void main(String[] args) {
int[] array = { 2, 4, 5, 6, 8, 6, 3, 4, 6 };
List<Integer> list = new ArrayList<>();
for (int i = 0; i < array.length - 1; i++) {
if (array[i] == 6) {
continue;
}
list.add(array[i]);
}
System.out.println(list);
}
publicstaticvoidmain(字符串[]args){
int[]数组={2,4,5,6,8,6,3,4,6};
列表=新的ArrayList();
for(int i=0;i
这是因为数组是用9个元素初始化的,它们都得到默认值(即0)
我们需要使用列表,因为我们不知道大小。这应该可以解决这个问题:
public static void main(String[] args) {
int[] array = { 2, 4, 5, 6, 8, 6, 3, 4, 6 };
List<Integer> list = new ArrayList<>();
for (int i = 0; i < array.length - 1; i++) {
if (array[i] == 6) {
continue;
}
list.add(array[i]);
}
System.out.println(list);
}
publicstaticvoidmain(字符串[]args){
int[]数组={2,4,5,6,8,6,3,4,6};
列表=新的ArrayList();
for(int i=0;i
最好使用列表
注意:当您使用继续
时,就不再需要其他
public static void main(String[] args) throws Exception {
int[] array = {2,4,5,6,8,6,3,4,6};
List<Integer> killSix = new ArrayList<>();
for (int i = 0; i < array.length - 1; i++) {
if(array[i] == 6){
continue;
}
killSix.add(array[i]);
}
System.out.println(killSix);
}
最好使用
列表
注意:当您使用继续
时,就不再需要其他
public static void main(String[] args) throws Exception {
int[] array = {2,4,5,6,8,6,3,4,6};
List<Integer> killSix = new ArrayList<>();
for (int i = 0; i < array.length - 1; i++) {
if(array[i] == 6){
continue;
}
killSix.add(array[i]);
}
System.out.println(killSix);
}
核心问题是对新旧数组使用了相同的索引。这将强制新数组具有9个元素,但具有0个元素,而以前只有6个元素 相反,新数组必须有自己的索引系统,或者只使用内置的数组构建函数 而且,你在工作中有一种严重的“代码气味” 任何时候你有一句话,比如“如果这个,什么也不要做;否则做点什么”,你几乎肯定会颠倒你的逻辑 最后,请检查循环终止条件:我认为您提前停止了一个元素。切换数组中的最后两个元素作为测试 将killSix初始化为空数组。然后更改中央循环:
for (int i = 0; i < array.length; i++) {
if(array[i] != 6) {
killSix.add(array[i]);
}
for(int i=0;i
核心问题是对旧数组和新数组使用了相同的索引。这迫使新数组包含9个元素,但使用了0,而以前只有6个元素
相反,新数组必须有自己的索引系统,或者只使用内置的数组构建函数
而且,你在工作中有一种严重的“代码气味”
任何时候你有一句话,比如“如果这个,什么也不要做;否则做点什么”,你几乎肯定会颠倒你的逻辑
最后,请检查循环终止条件:我认为您提前停止了一个元素。切换数组中的最后两个元素作为测试
将killSix初始化为空数组。然后更改中心循环:
for (int i = 0; i < array.length; i++) {
if(array[i] != 6) {
killSix.add(array[i]);
}
for(int i=0;i
这是我的家庭作业(我是新手),与我的基本知识有关这是我的家庭作业(我是新手),与我的基本知识有关这是我的家庭作业(我是新手),与我的基本知识有关这是我的家庭作业(我是新手),与我所掌握的基本知识有关