【问题标题】:Void method for println vs. println with return methodprintln 与 println 的 void 方法与返回方法
【发布时间】:2015-10-27 03:20:02
【问题描述】:

在编写计算器应用程序时,我只是想不出最好的方法是什么:

private void calculate(String command) {
    System.out.print("value1: ");
    int value1 = reader.readInteger();
    System.out.print("value2: ");
    int value2 = reader.readInteger();

    if (command.equals("sum"))
        System.out.println("sum of the values " + sum(value1 + value2));
}

private int sum(int value1, int value2) {
    return value1 + value2;
}

或

private void calculate(String command) {
    System.out.print("value1: ");
    int value1 = reader.readInteger();
    System.out.print("value2: ");
    int value2 = reader.readInteger();

    if (command.equals("sum"))
        sum();
}

private void sum(int value1, int value2) {
    System.out.println("sum of the values " + value1 + value2);
}

第二个使calculate() 方法更简洁,但通常更喜欢使用返回方法还是 void(仅用于打印行)?

【问题讨论】:

  • 是否有必要有一个将两个整数相加并返回结果的函数?这已经是+ 所做的。您可以只做System.out.println("sum of the values " + (value1 + value2)); 虽然要回答您的问题,但通常首选具有返回类型的方法。
  • 您可以尝试在Code Review Stack Exchange 网站上发布此内容。
  • 当然没有必要为 sum 添加一个方法,但是整体上好的编程又有什么意义呢?只需在 main 方法中添加所有内容

标签: java methods return


【解决方案1】:

一般来说,最好返回值 - 然后你可以测试你的方法并在更复杂的计算中重用它。

其中一个好方法是定义一些calculate 方法来计算和返回值,并定义void show 方法将接受作为参数值显示在屏幕上并正确显示它。

【讨论】:

    【解决方案2】:

    更好的方法是返回值。如果您将方法命名为 sum,您希望获得 sum 的值。

    您可以创建一个方法showResult()。您希望收到信息消息。

    public int getSum() {
        return this.sum;
    }
    
    public void showResult() {
        System.out.println("sum = " + this.sum); // add some description 
    }
    
    private void calculate() {
        this.sum = reader.readInteger() + reader.readInteger();
    }
    

    【讨论】:

      【解决方案3】:

      如果您将其扩展到其他命令,我认为您应该查看command pattern。 当您想扩展此计算方法时,它将减少您的 if 语句。

      command-pattern with calculator

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-05
        相关资源
        最近更新 更多