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

ヘッダーに記された計算を使って上記のステートメントを書くにはどうすればよいですか?私は、だから私はあなたの質問に答えるとループの適切な範囲にkを動かす1マイナーな改善を提案するつもりです。..構文を把握するためにループヘッダーのループ計算の場合

+3

"ヘッダに計算[...]を書くにはどうすればいいですか?" **なぜですか?**そうすることで、読みにくいコードを作成することになります。 – Seelenvirtuose

+1

FYI *ヘッダー*で 'k'を計算すべきではありません。それは将来の読者を混乱させてしまいます。 –

+0

'(k = 1; k <19; k + = 2)'のために '' k 'を計算する以外に 'i'を必要としないと仮定します。 –

答えて

4

に見えることはできません。

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を2回必要とするのはなぜですか? – Dapper

+2

@Dapper最初に初期化してから、ループの各繰り返しの後にインクリメントします。 forループの構文 '(変数を宣言し、出口句ブール、インクリメント変数)を有する;(i = 1、k = 1 int型'のため、私は、10 <; I ++は、 ' – Orin

+0

をそれ= 1のみ' Kを宣言することができkは= 2 * I-1){印刷K} '最初の値は常に1 –