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

  

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;
    }
    }

输出结果示例:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值