2012-06-13 74 views
0

我需要一些關於Java任務的幫助。我們得到一個加擾的文本文件,它使用替換密碼進行加擾,文本中的每個字母都換成另一個字母。我的程序幾乎已經完成,但我無法弄清楚如何編寫最終的「解擾」方法,該方法採用加擾文本並用正確的替代替換每個字母,以顯示正確的文本。需要幫助編寫替代密碼的解擾方法

這些是在分配中提供的說明:

解擾是通過使用在所述加擾文本作爲字符陣列中的索引信完成的。例如,如果加密的文本具有字母B,則將其替換爲數組中的索引2的字符。所有來自原始文件的空格和標點符號也應該放在解擾的文件中,只有字母應該被改變。另外,如果原始文件中的一個字母大寫,它應該在解擾文件中大寫(類似地,小寫字母應該仍然是小寫)。

我不是要求給我答案,因爲這是學校。我似乎無法正確理解這些說明,我需要做什麼才能成功解碼文本?大多數情況下,我不明白如何將字母用作char數組的索引,是不是索引總是整數?

回答

0

你沒有說你在用什麼語言,所以我會用C/Java。你會想要計算一個整數索引。假定此時該scrambled_char是一個大寫字母那麼它的:

// index into descrambling array: 
int index = scrambled_char - 'A' + 1; 

這對於字符A,2 B等作爲問題指出值1。這聽起來像你正在被給予解擾陣列。例如:

char descramble[] = "_ZYX ... "; 

這將導致被翻譯成Z,B爲Y,C到X,...

解擾後的字符將是

char descrambled_char = descramble[index]; 

現在你只需要弄清楚如何處理小寫字母,空格和標點符號。

+0

對不起,我正在使用Java。我已經編輯了第一篇文章以包含它。我根本不熟悉C,它的工作原理與Java相同嗎? –

+0

該代碼對於Java來說是相同的。如果你有字符串,用'char [] scrambled = scrambled_string.toCharArray();'轉換爲字符數組' – Gene