首页 > 解决方案 > 澄清我如何通过 String args 传递参数

问题描述

我开始说我的IDE是eclipse。我试图做一个程序,应该通过名字找到特定人的电话号码。这是代码

class HelloWorld {
        public static void main(String args[]) {
        String numbers[][] = {
                {"Tom", "555-3322"},
                {"Mary", "555-8976"},
                {"Jon", "555-1037"},
                {"Rachel", "555-1400"},
        };
        int i;

        if(args.length != 1)
            System.out.println("Usage: java Phone <name>");
        else {
            for(i=0; i<numbers.length; i++) {
                if(numbers[i][0].equals(args[0])) {
                    System.out.println(numbers[i][0] + ": " + numbers[i][1]);
                    
                    break;
                }
            }
            if(i == numbers.length)
                System.out.println("Name not found");
        }
          }
        }

我发现在一些论坛上,要让它工作,我必须去运行 -> 运行配置 -> 参数。因此,我将程序参数设置为“Mary”,输出是正确的,它显示了名字(Mary)和电话号码(555-8976)。这是正确的方法还是有更好的方法?

标签: javaeclipse

解决方案


您进行参数传递的方式很好,但有时最好问问自己,一般来说哪个是做某事的最佳选择,而不是仅仅坚持一个想法并询问如何将这个想法特别应用于现实世界。

要执行这种类型的键值操作,我建议使用 HashMap。如果您不了解它们,那没关系,还有其他方法可以做您想做的事。不过,我强烈建议您了解它们,因为它们使此类任务变得非常容易。

基本上,HashMap 是一个对象,其中存储有值,要访问它们,您需要指定一个键。例如:

核心价值

姓名:——《玛丽》

编号:“12335635”

年龄:-----“64”

请记住,所有键必须是相同的类型(通常我们使用字符串)并且值也应该是相同的类型,这就是我将数字放在引号内的原因。也许这个例子不是最好的,但键类型和值类型不必相同。你可以让你的键是字符串,你的值是 int。

我推荐这篇文章:Java 中的 HashMap 和示例,当然还有 Java 文档。


推荐阅读