2017-02-23 89 views
0

我有一个int,范围从0-99。我需要得到两个单独的整数,每个整数都包含一个数字。我无法弄清楚如何得到第二位数字。 (从64如何获得6)这是我的代码:从int获得第二个数字

public int getNumber(int pos, boolean index){//if index = 1 - first digit, if index = 0 - second digit 
    int n; 
    if(index){ 
     n = pos%10; 
    }else{ 
     if(pos<10){ 
      n=0; 
     }else{ 
      //???? 
     } 
    } 
    return n; 
} 
+0

你也将需要初始化n的INT N = 0; ...它不是答案的一部分,但会有所帮助 – Akshay

回答

1

您可以通过10做整数除法。例如,在下面的代码res应该等于4:

int res = 42/10; 
0

简单的鸿沟通过10.

... 
if(index) { 
    n = pos/10; 
} 
... 
0

简单:为了得到任何前导数字;只需创建一个循环;并且每次运行,除以10

在你的情况时,你甚至可以省略循环;-)

0

你可以这样做:

if(index){ 

     return x % 10; 
    } 
    return x/10; 

也许少了一些

public int getNumber(....){ 
    return index ? x % 10 : x/10; 
} 
0

只需将数字除以10.如果它是int,结果将为int。

class Main { 
    public static void main(String[] args) { 

     int a = 8; 
     int b = 28; 
     int c = 99; 

     System.out.println(a/10); 
     System.out.println(b/10); 
     System.out.println(c/10); 
    } 
} 
0

这是一个窍门。替换你的// ????用下面的代码。

Integer posInt= new Integer(pos); 
n=Integer.parseInt(posInt.toString().substring(0, 1)); 

完整的代码应该是什么样子,

public int getNumber(int pos, boolean index){//if index = 1 - first digit, if index = 0 - second digit 
    int n; 
    if(index){ 
     n = pos%10; 
    }else{ 
     if(pos<10){ 
      n=0; 
     }else{ 
      Integer posInt= new Integer(pos); 
      n=Integer.parseInt(posInt.toString().substring(0, 1)); 
     } 
    } 
    return n; 
}