Java 从int中获取第二个数字

Java 从int中获取第二个数字,java,int,Java,Int,我有一个int,范围从0-99。我需要得到两个独立的整数,每个整数包含一个数字。我想不出如何得到第二个数字。(从64如何获取6)这是我的代码: 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<

我有一个int,范围从
0-99
。我需要得到两个独立的整数,每个整数包含一个数字。我想不出如何得到第二个数字。(从
64
如何获取
6
)这是我的代码:

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; 
}
public int-getNumber(int-pos,布尔索引){//if-index=1-第一位,if-index=0-第二位
int n;
如果(索引){
n=位置%10;
}否则{

if(pos可以用10除整数。例如,在以下代码中,
res
应等于4:

int res = 42 / 10;

您可以将整数除以10。例如,在以下代码中,
res
应等于4:

int res = 42 / 10;
只需除以10

...
if(index) {
    n = pos/10;
}
...
只需除以10

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

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

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

在您的例子中,您甚至可以省略循环;-)

很简单:为了获得任何前导数字,只需创建一个循环;在每次运行期间,除以10

...
if(index) {
    n = pos/10;
}
...
在您的情况下,甚至可以省略循环;-)

您可以执行以下操作:

    if(index){

        return x % 10;
    }
    return x / 10;
或者是一点点

public int getNumber(....){
    return index ? x % 10 : x / 10;
}
你可以做:

    if(index){

        return x % 10;
    }
    return x / 10;
或者是一点点

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

把这个数字除以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);
    }  
}

把这个数字除以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);
    }  
}

这里有一个技巧。用下面的代码替换您的//?。

 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; 
}
public int-getNumber(int-pos,布尔索引){//if-index=1-第一位,if-index=0-第二位
int n;
如果(索引){
n=位置%10;
}否则{

如果(pos这里有一个技巧。用下面的代码替换你的//?。

 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; 
}
public int-getNumber(int-pos,布尔索引){//if-index=1-第一位,if-index=0-第二位
int n;
如果(索引){
n=位置%10;
}否则{
如果(位置
当常数=n/10时,查找需要添加到的第一个数字;(firstNumber=n/10;)


若要在常数=n/10时查找需要添加的第一个数字;(firstNumber=n/10;)

还需要将n初始化为int n=0;…这不是答案的一部分,但会有帮助。您还需要将n初始化为int n=0;…这不是答案的一部分,但会有帮助