2017-06-14 73 views
1

我不明白为什么我必须在此代码中使用square()?为什么我不能将n次n添加到String中?为什么我必须在这段代码中使用额外的方法?

static int square(int n){ 
    return n*n; 
} 
static void ausgabe(int n){ 
    String s; 
    int i = n; 
    s = "SquareOf" + i + " = " + square(i); 
    Sysout(s); 
} 

我的解决办法是错过了square方法和只添加这样

s = "SquareOf" + i + " = " + i*i; 

我试过,结果永远是对的。但是,我们的书提出了第一种方法,我只想知道为什么他们使我的眼睛更加复杂。

在此先感谢。

+1

因为这本书想教你如何使用方法。 – tkausl

+0

你是部分正确的,但是当你根据他们所做的事情来分割事物时,BUT软件开发得更好...... ausgabe应该只显示数值而不是做数学操作(这是平方工作) –

回答

3

那么,你是部分正确的,但软件是当你根据他们做了什么事分裂开发更好...

的方法Ausgabe有一份工作:显示结果只有

的方法有工作:做数学运算仅

所以后面的软开发整点不是代码工作

我们尝试做别的事情:

  • 它必须努力
  • 它必须易于维护
  • 它必须易于提高

所有这些需求都涉及到项目的复杂性并且可以基于single responsibility principle

+1

如果你想改变公式不必在任何地方改变它,就是用这种方法。想想你想要计算2^31-1的方差的情况。在这种情况下,你只需要修改方法,不是所有的计算。 –

2

对于像i*i那样微不足道的东西,您不需要一种方法。但是,如果需要执行更复杂的操作而需要相当多的代码行,那么将其放在自己的方法中以保持代码清洁并易于阅读,理解和维护是个不错的主意。此外,如果您需要在程序中的多个点上执行相同的操作,那么一种方法将会非常有用,因为您不必在不同的地方一遍又一遍地复制/粘贴相同的代码。

相关问题