我正在編寫需要按順序打印這些數字的Java代碼:「0 5 10 3 8 1 6 11 4 9 2 7」。我是Java的新手,但並不擅長循環。我從0開始找到一個12點星的點,並試圖找到需要被一條線作爲星的點。Java循環遍歷數字並添加5
我該如何做一個從0開始的循環,並添加5到每個數字..所以0 + 5 = 5,5 + 5 = 10,10 + 5 = 3(這是我的問題所在。我如何使它從11回到0?
我知道這看起來混亂...也可能是非常容易..但任何幫助,將不勝感激。
我正在編寫需要按順序打印這些數字的Java代碼:「0 5 10 3 8 1 6 11 4 9 2 7」。我是Java的新手,但並不擅長循環。我從0開始找到一個12點星的點,並試圖找到需要被一條線作爲星的點。Java循環遍歷數字並添加5
我該如何做一個從0開始的循環,並添加5到每個數字..所以0 + 5 = 5,5 + 5 = 10,10 + 5 = 3(這是我的問題所在。我如何使它從11回到0?
我知道這看起來混亂...也可能是非常容易..但任何幫助,將不勝感激。
由5遞增,直到你通過60,顯示模12.喜歡的東西的結果,
for (int i = 0; i < 60; i += 5) {
System.out.println(i % 12);
}
非常感謝..你真的幫了我很多! – Justin 2014-09-12 14:37:27
這就是所謂的模量,和java有模操作%
這給整的剩餘部分分部
15/12 == 1
15 % 12 == 3
爲
(15/12) * 12 + (15 % 12) == 15
請參閱Wikipedia。
當然,你的情況,你也可以做
n += 5;
if (n >= 12) {
n -= 12;
}
,而不是使用模:
n = (n + 5) % 12;
從0只是想迭代到12日,由5您數乘以和應用模數12:
for (int i = 0; i < 12; i++) {
System.out.println(i * 5 % 12);
}
你搖滾的人..非常感謝。從閱讀所有這些知識中學到了很多東西。 – Justin 2014-09-12 14:36:08
我相信你要找的操作員是modulus運營商。模數給你從分裂問題的餘數。在這種情況下,您使用12作爲分母。
0 + 5 % 12 = 5 (0, remainder 5)
5 + 5 % 12 = 10 (0, remainder 10)
10 + 5 % 12 = 3 (1, remainder 3)
15 + 5 % 12 = 8 (1, remainder 8)
20 + 5 % 12 = 1 (2, remainder 1)
試試這個:
for(int i=0; ; i = (i+5)%12){
System.out.println(i);
if(i==7)break;
}
你應該用文字解釋解決方案,並提供代碼片段作爲例子。 – 2014-09-12 14:41:00
可能是一個更好的問題應該從算法開始你必須記住,你已經在java中嘗試過了。 – 2014-09-12 14:14:25
10 + 5 = 15,你怎麼得到3? – 2014-09-12 14:14:59
@ElliottFrisch這是模數12(「12點星」)。 – 2014-09-12 14:18:26