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; } }
輸出結果示例:java