2017-06-14 50 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那樣微不足道的東西,您不需要一種方法。但是,如果需要執行更復雜的操作而需要相當多的代碼行,那麼將其放在自己的方法中以保持代碼清潔並易於閱讀,理解和維護是個不錯的主意。此外,如果您需要在程序中的多個點上執行相同的操作,那麼一種方法將會非常有用,因爲您不必在不同的地方一遍又一遍地複製/粘貼相同的代碼。

相關問題