高分悬赏:Java语言怎么得到一个整数的最高位是多少,不能用字符串的转换

高分悬赏:Java语言怎么得到一个整数的最高位是多少,不能用字符串的转换
高分悬赏:Java语言怎么得到一个整数的最高位是多少,不能用字符串的转换

如果不用字符串转换,需要先计算总共是多少位,用 log 方式计算 M ,然后直接除以 M 的整数就是最高位了:

      int a = 1104;
  int m = 1;
  for (int i = 0; i < (int) Math.log10(a); i++) {
  m *= 10;
  }
  // 第一位
  System.out.println(a / m); 

可以通过%取余的方法,循环取余,最后得到的数就是整数的最高位

public class HighestNumber {

    /**
     * 获取整数的最高位
     * @param targetNum 目标整数
     * @return 最高位
     */
    public static  int getHighestNumber(Integer targetNum){

        while(targetNum>10){
            targetNum=targetNum/10;
        }
        return targetNum;
    }

    public static void main(String[] args) {

        System.out.println(getHighestNumber(1900));
    }
}

采纳下

建议用c++:
#include
using namespace std;
int main()
{
int a,n;
cin>>a;
while(1)
{
n=a%10;
a/=10;
if(a==0)
break;
}
cout<<n<<endl;
return 0;
}
请采纳!

当然是取整啊 比如数字int num = 3148 num/1000= 3
依次类推 五位数就除10000 每次都是取最高位的数字