2017-01-04 97 views
-5

我有這個計算校驗位數的java項目(使用eclipse)。我被困在如何編碼這一個。編碼java程序來計算校驗位數

支票有一個校驗位,以便它使得包括校驗位在內的景點總和可以被7整除。假設總是有4位數加上校驗位。樣本是3875,數字是5秒。第二個試驗問題是5862,需要找到檢查號碼。我如何去做這件事?我必須輸入每個數字並添加它們,但我怎麼能做剩下的?

這是爲了進入計算機科學課,所以請不要超級複雜的東西,因爲如果我們沒有學到它,我不能使用它。

我的老師吮吸的方式,我們沒有學到這一點。我已經參加了一部分,我需要參加B部分。謝謝。這是一個圖像來地獄澄清。所有的

Question

+2

還有,你試過嗎?這些指令甚至還不夠清楚,5 + 8 + 6 + 2 = 21,它可以被7整除,我不知道你想要程序做什麼。爲了儘快提供更好的幫助,請描述您的問題,併發布有效的[mcve],並提供所需和實際輸入輸出的示例。也請參加[旅遊],通過[幫助]並學習[問] – Frakcool

+2

也許在課堂上更多關注? – OldProgrammer

+0

很確定我們不應該幫助家庭作業問題。 – jaredgilmore

回答

2

首先,你需要制定一些「程序員邏輯」,這些問題有助於開發它。

機票將實際識別號碼除以7,並將剩餘部分分配給校驗位。數可以是任何長度的

例子:

12358#3

我們把這個例子:

12358/7 = 1765 

和提醒3

讓我們做同樣的用例子中的第二個數字:

45349/7 = 45346 

和提醒3

所以,你的邏輯是正確的。

美國運通旅行支票有一個數字,以便它掩蓋了數字的總和,包括校驗位,可以被7整除。

例子:

3875#5

在這個問題上的東西是有點不同,你需要總結的數字:

3875 -> 3 + 8 + 7 + 5 = 23 

現在你需要得到提醒的23/7

23/7 = 3 

2

7 - 2 = 5 

提醒那是你checkDigit

5862 -> 5 + 8 + 6 + 2 = 21 

21/7 = 3 

Reminder = 0 

checkDigit = 7 - 0 = 7 

所以計算公式爲:

  1. 斯普利特NU MBER成數字
  2. 總和數字
  3. 獲取和
  4. 使7休息的mod 7 - 提醒
+0

非常優雅。沒有爲他或她做提問者的功課幫助。 –

+0

@ OleV.V。由於我沒有代碼可以檢查,所以我能做的最多的是給他邏輯,因爲這是OP實際要求的,謝謝 – Frakcool

+1

謝謝。我絕對不希望整個事情都是爲我完成的,只是解釋一下,也許還有一點代碼。對不起,我沒有任何代碼,下次我會確保我有它。 – user2860253