高分悬赏: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 每次都是取最高位的数字