gpt4 book ai didi

java - 查找数组 Java 中最后一次出现的位置?

转载 作者:行者123 更新时间:2023-12-01 07:20:16 25 4
gpt4 key购买 nike

我是 Java 新手。我想使用循环获取数组中最后一次出现的索引。但是,我不明白为什么我不能。

这是数组: {2、3、4、5、4、5、3}

我想获取其中最后4个的索引。

我的代码是:

public static void main(String args[]){
int[] nums = {2, 3, 4, 5, 4, 5, 3};

int pos4 = 0;
for (int k = nums.length -1; k >= 0; k--){
if (nums[k] == 4){
pos4 = k;
break;
}
System.out.print(pos4);
}
}

结果是:00 ??

当我更改为:

public static void main(String args[]){
int[] nums = {2, 3, 4, 5, 4, 5, 3};

int pos4 = 0;
for (int k = nums.length -1; k >= 0; k--){
if (nums[k] == 4){
break;
}
System.out.print(k);
}
}

我有 65 ???

但是,当我直接从循环打印时,我正确地得到了索引:

public static void main(String args[]){
int[] nums = {2, 3, 4, 5, 4, 5, 3};

int pos4 = 0;
for (int k = nums.length -1; k >= 0; k--){
if (nums[k] == 4){
System.out.print(k);
break;
}
}
}

谁能告诉我为什么?非常感谢!

最佳答案

您的第一个示例是从循环内打印。一旦满足条件,您就退出循环并且永远不会打印出最终值。

public static void main(String args[]){
int[] nums = {2, 3, 4, 5, 4, 5, 3};

int pos4 = 0;
for (int k = nums.length -1; k >= 0; k--) {
if (nums[k] == 4){
pos4 = k;
break;
}
}
System.out.print(pos4); // moved outside of loop to print final value
}

关于java - 查找数组 Java 中最后一次出现的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com