package test;import java.math.BigDecimal;public class Tt { public static void main(String[] args) { BigDecimal b = null; String s = ""; BigDecimal big = new BigDecimal("5669977889"); String sBig = String.valueOf(big); for (int i = sBig.length(); i > 0; i--) { s += String.valueOf(sBig.charAt(i-1)); } b = new BigDecimal(s); System.out.println(b); } }
方法很多: long n = 5669977889L; // 注意数字的范围. long result = 0;while (n != 0) { result = result * 10 + n % 10; n /= 10; }还有一个很显明的特征, 就是这个题的要求很符合栈的特点, 所以用栈来做也不错.
定义两个长整形数字 循环 b+=(a%10^(x-i))*10^i x 是数字的位数,i是循环变量,一个比较菜的办法。
应该是b=(a%10^(x-i))+b*10 呵呵就是4楼的方法
static int reserver(int num) { int returnnum=0; int yushu=0; while(num>9) { yushu=num/10; num=num%10; returnnum=returnnum*10+yushu; } return returnnum*10+num; }這是華為的面試題啊!我上次在JAVAEYE看到的
方法一: long n = 827328929L; // 注意数字的范围. long result = 0; while (n != 0) { result = result * 10 + n % 10; n /= 10; } 还有一个很显明的特征, 就是这个题的要求很符合栈的特点, 所以用栈来做也不错.方法二: Java codestatic int reserver(int num) { int returnnum=0; int yushu=0; while(num>9) { yushu=num%10; num=num/10; returnnum=returnnum*10+yushu; } return returnnum*10+num; }
String s = ""; BigDecimal big = new BigDecimal("5669977889");
String sBig = String.valueOf(big);
for (int i = sBig.length(); i > 0; i--) {
s += String.valueOf(sBig.charAt(i-1));
}
b = new BigDecimal(s);
System.out.println(b);
}
}
long n = 5669977889L; // 注意数字的范围.
long result = 0;while (n != 0) {
result = result * 10 + n % 10;
n /= 10;
}还有一个很显明的特征, 就是这个题的要求很符合栈的特点, 所以用栈来做也不错.
static int reserver(int num)
{
int returnnum=0;
int yushu=0;
while(num>9)
{
yushu=num/10;
num=num%10;
returnnum=returnnum*10+yushu;
}
return returnnum*10+num;
}這是華為的面試題啊!我上次在JAVAEYE看到的
long n = 827328929L; // 注意数字的范围.
long result = 0; while (n != 0) {
result = result * 10 + n % 10;
n /= 10;
} 还有一个很显明的特征, 就是这个题的要求很符合栈的特点, 所以用栈来做也不错.方法二:
Java codestatic int reserver(int num)
{
int returnnum=0;
int yushu=0;
while(num>9)
{
yushu=num%10;
num=num/10;
returnnum=returnnum*10+yushu;
}
return returnnum*10+num;
}