public class Reverse {
public String reverse(String str,int how){
/*
1.一个末尾没有0的整数,它的逆转数就是各位数字逆序输出;
2.一个负数的逆转数仍是负数;
3.一个末尾有0的整数,它的逆转数如同下例:reverse (1200) = 2100。
*/
if(how == 1){
String rev_str = "";
for(int j = str.length()-1;j>=0;j--){
rev_str += str.charAt(j);
}
return rev_str;
}else if(how == 2){
String rev_str = "-";
if(str.charAt(str.length()-1)=='0'){
int temp = 0;
for(int j = str.length()-1,i = 0;j>0;j--,i++){
if(str.charAt(j)!='0'){
temp = i;
break;
}
}
for(int j = str.length()-temp-1;j>0;j--){
rev_str += str.charAt(j);
}
for(int i = 0;i<temp;i++){
rev_str +='0';
}
}else{
for(int j = str.length()-1;j>0;j--){
rev_str += str.charAt(j);
}
}
return rev_str;
}else if(how == 3){
String rev_str = "";
int temp = 0;
for(int j = str.length()-1,i = 0;j>=0;j--,i++){
if(str.charAt(j)!='0'){
temp = i;
break;
}
}
for(int j = str.length()-temp-1;j>=0;j--){
rev_str += str.charAt(j);
}
for(int i = 0;i<temp;i++){
rev_str +='0';
}
return rev_str;
}else{
System.out.println("how变量只能是1,2,3");
return null;
}
}
//数字反序
public int reverse(int num){
int t = num,sum = 0;;
int re[] = new int[100];
int length = 0;
while(t>0){
re[length] = t%10;
t /= 10;
length++;
}
for(int i = 0,j = length-1;i<length;i++,j--){
sum += Math.pow(10, j)*re[i];
}
return sum;
}
}