题解 | #[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);
	}
	 
}
    

}

全部评论

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务