题目要求

P1553题目链接


分析

建议分别识别不同类型,进行处理。

整数倒置、排0。
分数只是分隔开分母和分子,分别按照整数来处理。
小数注意整数部分按照整数处理,小数部分要反过来处理。
百分数在排除%以后按照整数处理。

有一些问题是在用regex时,".“不能表示小数点,应该用”\."才行,这个要注意,很重要。。我第一次提交就是因为这个爆的异常。

还有就是整数部分和小数部分处理方式不一致,这个一定要注意,否则会WA掉。

具体的实现看代码吧!

第一次提交——RE

获取了测试数据2:
in
0.00000
out
0.0

AC代码(Java语言描述)

import java.util.Scanner;public class Main {private static String reverse1(String num) {char[] chars = new StringBuilder(num).reverse().toString().toCharArray();int count = 0;while (count < chars.length && chars[count] == '0') {count++;}if (count >= chars.length) {return "0";}return new String(chars).substring(count);}private static String reverse2(String num) {char[] chars = new StringBuilder(num).reverse().toString().toCharArray();int count = chars.length-1;while (count >= 0 && chars[count] == '0') {count--;}if (count < 0) {return "0";}return new String(chars).substring(0, count+1);}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String num = scanner.nextLine();scanner.close();if (num.contains(".")) {//小数String[] nums = num.split("\\.");System.out.println(reverse1(nums[0]) + "." + reverse2(nums[1]));} else if (num.contains("/")) {//分数String[] nums = num.split("/");System.out.println(reverse1(nums[0]) + "/" + reverse1(nums[1]));} else if (num.endsWith("%")) {//百分数System.out.println(reverse1(num.substring(0, num.length()-1)) + "%");} else {//整数System.out.println(reverse1(num));}}
}

来看各种数值的反转吧(洛谷P1553题题解,Java语言描述)相关推荐

  1. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  2. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  3. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

  4. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  5. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

  6. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  7. 求子集元素之和(洛谷P2415题题解,Java语言描述)

    题目要求 P2415题目链接 分析 这题我觉得--当个数学题做就好了嘛. 有一个数N的情况:result = 1 * N 有两个数N1.N2的情况:result = 2 * (N1+N2) 有三个数N ...

  8. 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)

    题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...

  9. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

最新文章

  1. SAP SD基础知识之信用控制范围
  2. 第一个Mybatis程序示例 Mybatis简介(一)
  3. 操作系统任务执行和任务切换的基本实现原理
  4. PYG教程【一】入门
  5. python第9周小测验答案_智慧树_Python程序设计基础_章节测验答案
  6. Linux之GDB调试命令
  7. 利用DB Link搞定Oracle两个数据库间的表同步
  8. 语文到底要不要补课?
  9. 山海镜花vivo服务器微信号,山海镜花初始号怎么刷
  10. arrive 和reach 的区别
  11. 【Elasticsearch】Mapping APIs
  12. 高校校园网建设方案【含网络拓扑图+拓扑结构图+配置命令】(详细版)
  13. 23 种设计模式的通俗解释,看完秒懂
  14. 产业互联网将不再只是虚无缥缈,触不可及的空中楼阁
  15. 堰流实验报告思考题_堰流流量测定
  16. r语言中的或怎么表示什么不同_R语言中$是什么意思
  17. 记录 一次 小米路由器4C 刷openwrt 过程
  18. python制作软件excel,利用Python制作Excel对比工具
  19. K8s安装遇见问题笔记
  20. 如何取消 Ms office2019提示 “获取正版office,你可能是盗版软件的受害者”

热门文章

  1. vue-cli脚手架中webpack配置基础文件详解
  2. Mysql经常使用命令
  3. Linq GroupJoin 使用
  4. easyui 布局自适应
  5. SQL - 18.触发器
  6. 通用线程:POSIX 线程详解,第 2部分——称作互斥对象的小玩意
  7. 简易的实现对象内存池
  8. 如何点击打印,直接打印出来,不弹打印设置选项
  9. collection集合 多少钱_面试必备-Java集合框架
  10. css高清动图,CSS3+PNG实现GIF动画效果