int dan ikkinchi raqamni olish

0-99 dan o'zgargan int mavjud. Har birida raqamlardan birini o'z ichiga olgan ikkita alohida intsni olish kerak. Ikkinchi raqamni qanday qilib olish mumkinligini tushunolmayman. ( 64 kodini olish uchun 64 dan) Bu mening kodim:

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
Bundan tashqari, siz n ni int n = 0 deb belgilashingiz kerak bo'ladi ... javobning bir qismi emas, balki foydali bo'ladi
qo'shib qo'ydi muallif Akshay, manba

6 javoblar

Masalan, res quyidagi kodda 4 ga teng bo'lishi kerak:

int res = 42/10;
2
qo'shib qo'ydi

Oddiy: har qanday etakchi raqamni olish uchun; faqatgina loop yaratish; va har bir mashq paytida 10ga bo'linadi.

Sizning holatingizda, hatto loopni ham yo'q qila olasiz ;-)

0
qo'shib qo'ydi

siz shunday qilishingiz mumkin:

    if(index){

        return x % 10;
    }
    return x/10;

yoki ehtimol, bir oz narsa

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

Bu erda bir hiyla-nayrang.//o'zingizni o'zgartiring.

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

Komple kod o'xshash bo'lishi kerak

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; 
}
0
qo'shib qo'ydi

Faqatgina 10ga bo'ling.

...
if(index) {
    n = pos/10;
}
...
0
qo'shib qo'ydi

Faqat u int bo'lsa, natija int bo'ladi 10 tomonidan sonni.

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
qo'shib qo'ydi