import java.util.*;/*输入util包内所有类*/
/*
* 目标:给定一个整数数组和一个目标值,
* 找出数组中和为目标值的两个数,
* 同样的元素不能被重复利用。
* 输出数组中符合要求的两个数的角标*/
class HelloWorld {
public static void main(String[] args){
HelloWorld hello = new HelloWorld();/*创建hello对象*/
Scanner in = new Scanner(System.in);/*创建Scanner对象*/
System.out.print("输入目标值:");
int a = in.nextInt();/*输入目标值*/
System.out.print("输入数组长度:");
int c = in.nextInt();/*输入数组长度*/
System.out.print("输入数组元素:");
int[] nums = new int[c];/*定义一个数组长度为c的整型数组nums*/
for(int i=0;i<nums.length;i++){
nums[i] = in.nextInt();//将键盘输入值赋予数组元素,以空格隔开
}
hello.twoSum(nums,a);/*调用twoSum方法*/
}
public int[] twoSum(int[] nums, int target){/*定义了一个返回值为int[],方法名为twoSum的方法,传递给twoSum的参数有int类型的数组nums和int类型的target*/
for (int i = 0; i < nums.length; i++) {/*双层for循环对数组进行比较和求和*/
for (int j = i+1; j < nums.length; j++) {
if(nums[i] == nums[j]){/*数组元素比较*/
continue;/*跳出此次循环*/
}else{
int twoSum = nums[i]+nums[j];/*数组元素求和*/
if(twoSum == target){/*将所求和与目标值进行比较*/
int[] a = new int[]{i,j};
System.out.println("返回值为:"+Arrays.toString(a));/*使用toString( )方法将数组转换成字符串*/
}
}
}
}
return nums;
}
}
输出结果示例: