2017-09-11 114 views
0

我認爲數學在Java中有點棘手。 可以說我有一個整數值203,我想提取0和3. 對我來說,最簡單的方法是有像Intat(1)和Intat(2)或能夠提取左(203 ,1)檢索「2」,然後用203 - (2 * 100)進行分解。從一個整數值中提取一個和十個數字

反正我覺得我得到了一個解決方案,請參見下面這個代碼塊:

String Th = Integer.toString(203); 
    int Th2 = Integer.valueOf(Th); 
    String Th3 = Th.charAt(1) + "" + Th.charAt(2); 
    int Thrown_Card_Two_Post = Integer.valueOf(Th3); 
    System.out.println(Thrown_Card_Two_Post); 

有沒有做到這一點任何更有效的方法?

+1

203%10 = 3會給你最後一位數字。自己想想第二個。這個解決方案不需要整型轉換,它是O(1)。 – Maroun

+1

...和「203/10 = 20」將會「截斷」最後一位數字。 – Seelenvirtuose

回答

0

我認爲最好的辦法是從小到大做到這一點。

  1. 首先,取模數10得到最後一位數字。如果你不知道 ,模數10是除以10後的餘數,可以是 ,表示爲203 % 10

  2. 你有最後一位數字後,從總數中減去它並取 模數100得到第二位數字。

  3. 重複以獲取所有數字。

如果你並不需要所有的數字,但只有特定的一個,你可以先劃分跳過幾個步驟。

0

你可以使用這個技巧: int number = 235;

int ones = number % 10; 
    int tens = (number % 100) % 10;