所以我正在編寫一個小型的加密程序。我首先要求用戶輸入一個4位數字(> = 1000和< = 9999)。我想從用戶輸入的數字中提取每個數字,並將它們存儲在一個變量中。提取int中的每個數字
我的任務給了我一些幫助不大的提示(提示:整數除法和模數可能在這裏有用)。
所以我正在編寫一個小型的加密程序。我首先要求用戶輸入一個4位數字(> = 1000和< = 9999)。我想從用戶輸入的數字中提取每個數字,並將它們存儲在一個變量中。提取int中的每個數字
我的任務給了我一些幫助不大的提示(提示:整數除法和模數可能在這裏有用)。
的「暗示」實際上是怎麼做你需要做的幾乎直接的解釋:在十個整數除以擺脫了最後一位,而獲得模10給你的最後一個數字:
int x = 12345;
int lastDigit = x % 10; // This is 5
int remainingNumber = x/10; // This is 1234
直到剩下的數字爲零爲止,循環執行此操作。這會給你數字的倒數。
因此最後一位數字將存儲在「lastDigit」中,其餘數字存儲在「remainingNumber」中。所以下一步就是再次循環,直到沒有剩下數字(或零的餘數)。除非我誤解,否則會改變變量中分配的數字。 – JKawa
這就是問題要求我做的事情:提取每個數字並將它們保存到四個int變量中。 (提示:整數除法和模數可能在這裏有用)。 e)用每個數字加上(該數字的總和加上7)模數10來加密每個數字。用第3個數字和第4個數字交換第1個數字。 – JKawa
@JKawa然後你不需要循環。你知道如何取最後一位數字,以及如何取消最後一位數字。創建四個變量'digit0','digit1','digit2'和'digit3',逐個賦值,修改一個單獨的變量,比如'y',而不是修改'x'。 – dasblinkenlight
您可以使用Integer.toString(int)
,然後按索引尋址每個數字。
int x = 1234;
char[] s = Integer.toString(x).toCharArray();
System.out.println(s[0]);
System.out.println(s[1]);
System.out.println(s[2]);
System.out.println(s[3]);
如果你不想你的字符串轉換爲一個數組,你可以使用.charAt(int n)
方法上的字符串。
int x = 1234;
String s = Integer.toString(x);
System.out.println(s.charAt(0));
爲什麼這會降低投票率?可能不是作業需要什麼,但肯定沒有錯。 –
我有點倉促,忘記了你不能在java中索引字符串... – kpie
您也可以將整數轉換爲字符串,將字符串拆分爲不同的數字,然後將每個數字轉換爲整數。 – Logan