
java中如何获得一个整数的最高位数
4个回答
2016-11-14
展开全部
/**
* @param args
*/
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
// 例如 "1234567890123456789012345678901234567890123456789"
String inputString = in.nextLine();
BigDecimal bigDecimal = new BigDecimal(inputString);
String string = bigDecimal.toString();
char[] charArray = string.toCharArray();
StringBuffer buffer = new StringBuffer();
// 从个位数
for (int i = charArray.length - 1; i >= 0; i--)
{
System.out.println("第" + (charArray.length - i) + "位:" + charArray[i]);
buffer.append(charArray[i] + " ");
}
System.out.println(buffer.toString());
}
* @param args
*/
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
// 例如 "1234567890123456789012345678901234567890123456789"
String inputString = in.nextLine();
BigDecimal bigDecimal = new BigDecimal(inputString);
String string = bigDecimal.toString();
char[] charArray = string.toCharArray();
StringBuffer buffer = new StringBuffer();
// 从个位数
for (int i = charArray.length - 1; i >= 0; i--)
{
System.out.println("第" + (charArray.length - i) + "位:" + charArray[i]);
buffer.append(charArray[i] + " ");
}
System.out.println(buffer.toString());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-11-14 · 知道合伙人软件行家
关注

展开全部
Java代码
int a = 1104;
// 最后一位
System.out.println(a % 10);
int m = 1;
for (int i = 0; i < (int) Math.log10(a); i++) {
m *= 10;
}
// 第一位
System.out.println(a / m);
int a = 1104;
// 最后一位
System.out.println(a % 10);
int m = 1;
for (int i = 0; i < (int) Math.log10(a); i++) {
m *= 10;
}
// 第一位
System.out.println(a / m);
本回答被网友采纳

你对这个回答的评价是?
展开全部
public static void main(String[] args) {
int a = 9738914;
System.out.println(getHigh(a));
}
private static int getHigh(int x) {
// 方式一:递归,缩减到最高位
// x = x / 10;
// if (x < 10) {
// return x;
// }
// return getHigh(x);
// 方式二:循环
// while(x > 10)
// x = x / 10;
// return x;
// 方式三:转字符串,取第一个值
// String xStr = "" + x;
// return Integer.parseInt("" + xStr.charAt(0));
// 或者
// return Integer.parseInt(Integer.toString(x).substring(0, 1));
// 方式四:直接算位数除
return x / (int) Math.pow(10, Integer.toString(x).length() - 1);
}
int a = 9738914;
System.out.println(getHigh(a));
}
private static int getHigh(int x) {
// 方式一:递归,缩减到最高位
// x = x / 10;
// if (x < 10) {
// return x;
// }
// return getHigh(x);
// 方式二:循环
// while(x > 10)
// x = x / 10;
// return x;
// 方式三:转字符串,取第一个值
// String xStr = "" + x;
// return Integer.parseInt("" + xStr.charAt(0));
// 或者
// return Integer.parseInt(Integer.toString(x).substring(0, 1));
// 方式四:直接算位数除
return x / (int) Math.pow(10, Integer.toString(x).length() - 1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a=123
a%100=1
看得懂么
a%100=1
看得懂么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询