2017-09-11 112 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;