P1307 [NOIP2011 普及组] 数字反转
[NOIP2011 普及组] 数字反转
最近作者因为要准备期末考,也是很久没写题解了
重新出发喽
题目描述
给定一个整数 N N N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。
输入格式
一个整数 N N N。
输出格式
一个整数,表示反转后的新数。
样例 #1
样例输入 #1
123
样例输出 #1
321
样例 #2
样例输入 #2
-380
样例输出 #2
-83
提示
【数据范围】
-1,000,000,000<=N<= 1,000,000,000。
noip2011 普及组第一题
废话不多说直接上代码演示
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 该类用于实现将一个整数字符串反转后输出
* @author 善白
*/
public class Main {
public static void main(String[] args) throws IOException {
// 从控制台读取输入数据
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
// 读取输入数据并去除两端空格
StringBuilder stringBuffer = new StringBuilder(bufferedReader.readLine().trim());
// 反转字符串
stringBuffer.reverse();
// 判断反转后的字符串是否为负数
if (stringBuffer.charAt(stringBuffer.length() - 1) == '-') {
// 如果是,则将负号移到字符串前面
stringBuffer.delete(stringBuffer.length() - 1, stringBuffer.length());
stringBuffer.insert(0, '-');
}
// 输出反转后的整数字符串
System.out.printf("%d",(Integer.parseInt(String.valueOf(stringBuffer))));
}
}
代码就是这样啦,简单应用一下reverse()就ok啦