题目描述
给定一个整数 N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。
输入格式
一个整数 N。
输出格式
一个整数,表示反转后的新数。
输入输出样例
输入 #1
123输出 #1
321输入 #2
-380输出 #2
-83
//第一种解法:
import java.util.Scanner;
public class Main {
//数字反转
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
int sum=0;
while(num!=0){
int ge=num%10;
num=num/10;
sum=sum*10+ge;
}
System.out.println(sum);
}
}
//第二种解法:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
public class Test {
//数字反转
public static void main(String[] args)throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb=new StringBuffer(br.readLine().trim());//trim() 方法用于删除字符串的头尾空白符。
if (sb.charAt(0)=='-'){//判断开头是不是带负数
sb.delete(0,1);//如果是删除符号
sb.reverse();//在进行反转
sb.insert(0,'-');//进行玩操作在将符号添加在开头
}else{
sb.reverse();//如果是正数直接反转
}
System.out.println(Integer.parseInt(sb.toString()));
}
}