【问题标题】:How do I call a method from the main method?如何从 main 方法调用方法?
【发布时间】:2021-12-21 18:58:08
【问题描述】:

我有一个方法可以创建一个映射,它为每个键关联相同的值。如何从我的 main 方法中调用该方法?

public HashMap<String, Integer> str1(String[] strings) {
    HashMap<String, Integer> map = new HashMap();
    for (String s:strings) {
        map.put(s, 1);
    }
    return map;
}

【问题讨论】:

  • 请编辑您的问题以准确解释您在调用该方法时遇到了什么问题。
  • 欢迎堆栈溢出。我清理了您的代码/问题格式并提供了答案。将来,请尝试更详细。发布完整的最小可重现问题;即您的类定义和错误消息以及失败的功能会很棒。
  • 这是一个很棒的论坛,但是您需要努力制作好的问题内容才能获得好的答案。尝试在上面添加更多内容以避免问题结束,并为下次训练自己!
  • 非常感谢。它实际上是一个编码学习网站,我正在尝试回答编码问题。这是问题“codingbat.com/prob/p152303”。
  • 给定一个字符串数组,返回一个 Map,其中包含数组中每个不同字符串的键,值始终为 0。例如字符串“hello”使对“你好”:0。 word0(["a", "b", "a", "b"]) → {"a": 0, "b": 0} word0(["a", "b", "a", " c", "b"]) → {"a": 0, "b": 0, "c": 0} word0(["c", "b", "a"]) → {"a": 0,“b”:0,“c”:0}

标签: java main


【解决方案1】:

在 Java 中,这将是一个“成员函数”。因此,您必须创建一个具有该 main 函数的对象实例,然后在其上调用它。

或者,您可以将其设为静态函数并从 main() 本身调用它,这对于简单的应用程序来说更容易一些。

这是一个完整类的静态方式示例:

public class MyClass {

    private static String [] keys = { "cat", "dog" };

    public static void main(String[] args) {
        HashMap<String, Integer> result = str1(keys);
    }

    public static HashMap<String, Integer> str1(String[] strings) {
        HashMap<String, Integer> map = new HashMap();
        for (String s:strings) {
            map.put(s, 1);
        }
        return map;
    }
}

要在你的函数上没有“静态”的情况下,你必须在 main 中执行类似的操作来创建 MyClass 的实例:

public static void main(String[] args) {
    //Create instance of class.
    MyClass c = new MyClass(); 

    //Call the str1 member function on this class instance.
    HashMap<String, Integer> results = c.str1(keys);
}

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 2019-04-21
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    相关资源
    最近更新 更多