2016-09-06 152 views
1
int k; 
for (int i = 1; i < 10; i++) { 
    k = 2*i-1; 
    System.out.print(k+" "); 
} 

我將如何編寫上面的語句,並在頭中完成計算?我似乎無法找出語法..在循環頭中的循環計算

+3

「我如何在頭文件中編寫計算?」 **爲什麼?**通過這樣做,您可以創建較少可讀的代碼。 – Seelenvirtuose

+1

僅供參考,您不應該在*標題*中計算'k',這隻會讓未來的讀者感到困惑和瘋狂。 –

+0

假設除了計算'k':'for(int k = 1; k <19; k + = 2)',你不需要'i''。 –

回答

4

所以我要回答你的問題,並建議其移動k進入循環的適當範圍一個小的改進:

for(int i = 1, k = 2*i - 1; i < 10; i++, k = 2*i - 1) { 
    System.out.println(k+" "); 
} 

我米也傾向於同意評論。爲了便於閱讀,您可能應該將k的計算留在循環體內部。如果在循環範圍之外不需要k,則仍然可以將k的聲明放在標題中。

+0

爲什麼需要兩次k = 2 * i-1? – Dapper

+2

@Dapper首先進行初始化,然後在每次遍歷循環後遞增。 for循環的語法爲'for(declare variables; exit-clause boolean; increment variables)' – Orin

+0

它可以只聲明'k = 1;''for(int i = 1,k = 1; i <10; i ++,因爲第一個值始終爲1 –