我有一個任務,我必須一個int轉換成的像這樣一串數字,轉換一個int到個人數字組成的字符串在java中
123:一二三
193:一九三我不能使用String.valueof()方法,然後轉換爲char數組!還有什麼其他的方式呢?模?
我有一個任務,我必須一個int轉換成的像這樣一串數字,轉換一個int到個人數字組成的字符串在java中
123:一二三
193:一九三我不能使用String.valueof()方法,然後轉換爲char數組!還有什麼其他的方式呢?模?
步驟1:將您的INT爲一個字符串(新的整數(123)的ToString())
步驟2:在你的串迴路(每個字符)
步驟3:在環,必須9上的值的開關,從0它打印表示數字
實際Word,以便將看起來像:
String intStringValue = new Integer(123).toString();
for(char c : intStringValue.toCharArray()) {
int digit = Integer.parseInt(new String(new char[] {c}));
switch(digit){
case 0: System.out.print("zero "); break;
case 1:....
}
}
這一定會幫助OP學習... –
這也是更多或更少使用String.valueof(),然後轉換爲char數組,該數組被明確指出是無效的解決方案。 – turbo
public class HelloWorld{
public static void main(String []args)
{
String values[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int number=453;
String num=Integer.toString(number);
for(int i=0;i<num.length();i++)
{
char index=num.charAt(i);
System.out.print(values[Character.getNumericValue(index)]);
} }}
你可以試試這個解決方案。有用。
那麼我不會給你任何代碼,但可能是一些段落形式的僞代碼和一個想法,讓你在盒子外思考,因爲你不會總是有一個預製的方法爲你準備好。作爲最壞的情況,如果你找不到另一種方法,請考慮如何分解它。
什麼數字系統是格式化輸入?它是二進制,十六進制,十進制嗎?找出該數字系統中任何給定數字的可能值範圍,並創建一個或兩個代碼來確定該範圍內的哪個數字。
在二進制中,我們知道一個數字可以是1或0,因此對於任意長度的連續數字中的每個可能數字,我們知道這些數字只有兩個可能的字符串表示是「一個」和「零」。
您不應該需要在分析數字時使用單一方法,也不需要使用方法連接到要創建的字符串上。
如果您嘗試將數字處理爲它真正表示的整數,那麼您可以擁有與int數據類型一樣大的任意數量的可能性(2爲32的冪數= 4294967296個可能的數字組合)可能性檢查,你會更好地寫一個程序來編寫你的程序塊),但如果你一個一個地處理int數字,你可以 - 在最差的情況下 - 10個可能的組合(0-9)乘以數字的數量,最多10個數字的整數(以十進制形式)。而且,在前一種情況下,你必須在一次巨大的荒誕迭代中檢查每一個數字。在後一種情況下,您只需檢查10個值,並根據數字中的數字數量重複1-10次(包括1-10次)。
這個網站是不是做你的功課,而是要糾正你的代碼。 – AntonH
爲什麼你不能遍歷字符? –
將數字除以100,得到該整數並將其改爲「String」,然後減去該部分併除以10 ... –