java写一个程序,接受一个长度为10的整数数组和一个目标整数,请找到该数组中相加之和等于目标整数的两个数字在数组中的下标并打印出来,先打印低位再打印高位。这个数组中每个数字只能使用一次,最多只有一组能相加得到目标数字,且可能找不到这样的一对数字,如果找不到请打印NULL。
时间: 2023-07-15 20:15:36 浏览: 197
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标
可以参考以下代码实现:
```java
import java.util.HashMap;
public class FindSumIndex {
public static void main(String[] args) {
int[] nums = {2, 7, 11, 15, 3, 6, 8, 9, 1, 5};
int target = 10;
int[] result = findIndex(nums, target);
if (result == null) {
System.out.println("NULL");
} else {
System.out.println(result[0] + " " + result[1]);
}
}
public static int[] findIndex(int[] nums, int target) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[]{map.get(complement), i};
}
map.put(nums[i], i);
}
return null;
}
}
```
首先定义了一个长度为10的数组`nums`和目标整数`target`,然后调用`findIndex`方法来查找数组中相加之和等于目标整数的两个数字在数组中的下标。
在`findIndex`方法中,我们使用HashMap来存储每个数字及其对应的下标。遍历数组中的每个数字,计算出目标整数与当前数字的差值,如果该差值已经存在于HashMap中,则说明找到了一组相加之和等于目标整数的两个数字,返回它们的下标即可。如果遍历完整个数组仍然没有找到符合条件的数字,则返回null。
阅读全文