2017-02-23 92 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; 
}