如何在Java中打印值而不是内存位置?

问题描述

我正在尝试解决有关leetcode的一个流行问题,即我的ide(intellij)上的两个和。我期望它可以打印数组内部值的索引,但是可以打印内存地址。我进行了一些搜索,发现我需要重写为string(),我进行了重写,并且它仍在打印内存地址。我究竟做错了什么?如果有人可以帮助我,我将不胜感激。谢谢。 :)

import java.util.HashMap;
import java.util.Map;

public class Main {

    @Override
    public String toString() {
        return super.toString();
    }

    public static void main(String[] args) {
        int arr[]={2,7,11,15};
        int target= 9;
        int result[]=(find(arr,target));
        System.out.println(result);
    }

    public static int[] find(int[] arr,int target){
        Map<Integer,Integer> hm =new HashMap<>();

        for(int i=0;i<arr.length;i++){
            int num= target- arr[i];
            if(hm.containsKey(num)){
                return new int[]{hm.get(num),i};
            }
            hm.put(arr[i],i);
        }
        return new int[]{-1,-1};
    }
}

解决方法

因此,有两种方法可以执行此操作。首先,您得到的输出基本上是哈希值。您要做的是打印出该数组中的元素。第一种方法是遍历数组,然后简单地打印出如下值:

for(int j=0;j<result.length;j++){
    System.out.println(result[j]);
}

另一种方法是,如果您仅使用Array类及其toString()方法。

System.out.println(Arrays.toString(yourArray));

这两种方法都应该起作用。

,

您的问题-已得到解决-搁置一旁,如果您想在单个文件中设置环境,则对于Main.java文件来说,此方法可能会正常运行:

import java.util.*;
// import javafx.util.*;

class Solution {
    public static final int[] twoSum(int[] nums,int target) {
        int[] indices = new int[2];
        HashMap<Integer,Integer> map = new HashMap<>();

        for (int index = 0; index < nums.length; index++) {
            if (map.get(target - nums[index]) != null) {
                indices[1] = index;
                indices[0] = map.get(target - nums[index]);
                return indices;
            }

            map.put(nums[index],index);
        }

        return indices;
    }
}

class Main {
    public static void main(String[]args) {
        Solution s = new Solution();
        int arr[] = {2,7,11,15};
        int target = 9;
        System.out.println(s.twoSum(arr,target)[0]);
        System.out.println(s.twoSum(arr,target)[1]);
    }
}

打印:

0
1

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...