数组中两数相加等于特定值,以字符串的形式输出两数角标

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

相关文章
相关标签/搜索