题解 | #[NOIP2011]数字反转#

[NOIP2011]数字反转

https://ac.nowcoder.com/acm/problem/16584

解决此题的关键在于如何对一个整数进行反转,而且不是普通的反转,反转必须满足反转后的数是常见的整数形式,比如-1200,反转后必须是-21,而不是-0021,这样的话我们就不能通过普通的反转了。我们可以先把获取到的字符串转变成整型(Integer.parseInt()方法),得到的整型判断其大小是否为负数,正数的话可以通过遍历自加得到新字符串,如果是负数的话就要注意“-”,所以遍历的最小索引值是1,后面再对为负数的val,进行输出最前面加“-”,从而能够解决此题!

import java.util.*; public class Main {

public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	String str=sc.nextLine();
	int val=Integer.parseInt(str);
	String s="";
	if(val<0) {
		
		for(int i=str.length()-1;i>0;i--) {
			s=s+Character.toString(str.charAt(i));
		}
		
	}
	else {
		for(int i=str.length()-1;i>=0;i--) {
			s=s+Character.toString(str.charAt(i));
		}
	}
	int v=Integer.parseInt(s);
	if(val<0) {
		System.out.print("-"+v);
	}
	else {
		System.out.print(v);
	}
	 
}
    

}

全部评论

相关推荐

11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务