例如,假設用戶輸入:2314.將每個數字放在數組的自己的字段中的最快方法是什麼?如何隔離int中的每個數字並將其放入數組中?
我試圖轉換成一個字符串,然後隔離每個數字作爲字符,但我不知道如何將它從一個字符轉換爲一個int。
例如,假設用戶輸入:2314.將每個數字放在數組的自己的字段中的最快方法是什麼?如何隔離int中的每個數字並將其放入數組中?
我試圖轉換成一個字符串,然後隔離每個數字作爲字符,但我不知道如何將它從一個字符轉換爲一個int。
String#toCharArray()
方法將字符串轉換爲char數組。int[]
。記住,轉換到char
是int
棘手。你不能只是做一個typecast。那會給你ASCII碼的編號。您可以使用下面的代碼轉換從char
到int
:
char ch = '3';
int chToInt = ch - '0';
另一種方法是使用一個ArrayList
。並做整數除法和模數操作,得到每個單獨的數字,並將其加到ArrayList
。
2314/1000 = 2 // First digit (add to ArrayList)
2314 % 1000 = 314 // This is the new number
314/100 = 3 // Add this to ArrayList
314 % 100 = 14 // This is the new number
// Proceed like this
您需要找到一種方法來編寫上述步驟的loop
。
int number = 1234;
int array[] = new int[String.valueOf(number).length()];
for (int i = 0; number > 0; i++) {
array[i] = number % 10;
number = number/10;
}
打印整數按相反的順序(LSB到MSB)
while(a > 0)
{
arr[i] = a%10;
a = a/10;
}
試試這個:
int[] nums = new int[input.length];
int i = 0;
for (String c : input.split("(?<=.)")
nums[i++] = Integer.parseInt(c);
分裂正則表達式的關鍵是:這是一個 「向後看」 的任何字符,在每個字符後都會導致分裂。
如果您簡單地將其分割爲空白,即str.split("")
,則結果數組的第一個元素中有空白。
我猜〜OP想填充一個int數組。順便說一句,感謝留下我關於str#split(「」),它在索引0處產生一個空字符串。:) – PermGenError
嘗試這樣
String str="2314";
int[] arr=new int[str.length()];
for(int i=0;i<arr.length;i++){
arr[i]=Integer.parseInt(str.substring(i,i+1));
}
一些事情「這是自己的領域數組中」的意思? – rahulserver
顯示你的努力之前問題將被關閉.. – Maroun
我已經嘗試轉換成一個字符串,然後隔離每個數字作爲字符,但我不知道如何將它從一個字符轉換爲一個int。 – entropy