replace() 通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串
insert() 从index开始插入某个字符串
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws IOException {BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String[] str = bf.readLine().split("E");//用E隔开,分为前后两个字符串StringBuffer sb = new StringBuffer("");int index = Integer.parseInt(str[1]);//记录指数的数值String buf = str[0];char sign = str[0].charAt(0);//把第一位的符号拿出来单独存储if (index < 0) {//指数判断sb.append("0.");for (int i = 1; i < Math.abs(index); i++) {sb.append("0");}sb.append(buf.replace("+", "").replace("-", "").replace(".", ""));//删除前半个字符串中的“+“,“-”,“.”,并把剩下的数字接到字符串sb后边if (sign == '-')sb.insert(0, sign);//在第一位插入} else if (index > 0) {/*这里和上面有一些区别:如果小数点后位数大于index的数值,就不能把数字直接接到sb的后边需要对小数点的位置进行判断*/char[] code = buf.replace("+", "").replace("-", "").replace(".", "").toCharArray();//先去掉符号和小数点for (int i = 0; i < code.length; i++) {sb.append(code[i]);//然后先添加元数据的每一位数字,并且同时减少小数点计数,为了以后插入小数点位置做打算index--;}for (int i = 0; i < index + 1; i++) {sb.append(0);//如果所有有效数字都添加完了还没有完成移动再补零}if (sign == '-')sb.insert(0, sign);//添加负号if (sb.length() + index + 1 < sb.length()) {//寻找到小数点的位置插入sb.insert(sb.length() + index + 1, '.');}} else {//指数为零String[] temp = buf.split("\\.");if (Integer.parseInt(temp[1]) == 0) {sb.append(Integer.parseInt(temp[0]));} elsesb.append(buf.replace("+", ""));}System.out.println(sb.toString().trim());}
}

*PAT_B_1024_Java(20分)相关推荐

  1. 7-1 查找书籍(20 分)(程序设计天梯赛模拟练习题)

    7-1 查找书籍(20 分) 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价. 输入格式: 输入第一行给出正整数n(<10),随后给出n本书的信息.每本书 ...

  2. PTA—输出全排列 (20分) 递归回溯思想

    PTA-输出全排列 (20分) 递归回溯思想 题目要求: 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出 ...

  3. 2、求100以内的素数之和。(20分)

    题目: /* 2.求100以内的素数之和.(20分) */ 代码: public class Two207 {public static void main(String[] args) {int s ...

  4. 1、输入四个整数,按照从小到大顺序输出。(20分)

    题目: /* 1.输入四个整数,按照从小到大顺序输出.(20分) */ 代码: 注:题目说的是四个数的排序,我就直接写了个冒泡排序 public class One207 {public static ...

  5. /* * 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“

    题目: 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 *****************    所谓" ...

  6. /* * 编程题第四题(20分): 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。 */

    题目: /* 编程题第四题(20分): 用1元5角钱人名币兑换5分.2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案. */ 我使用java做的 public class ...

  7. /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */

    题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...

  8. /* * 编程第二题(20分): 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第十次落地时,共经过多少米?第十次反弹多高? */

    题目: /* * 编程第二题(20分): 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第十次落地时,共经过多少米?第十次反弹多高? */ 我是用java做的 public ...

  9. /* * 编程第一题(20分): 1+(1+2)+(1+2+3)+……+(1+2+3+……+98+99+100) */

    题目: /* 编程第一题(20分): 1+(1+2)+(1+2+3)+--+(1+2+3+--+98+99+100) */ 我是用的java做的 class One {public static vo ...

最新文章

  1. getBytes等空指针异常
  2. request用法_Go 语言 Web 应用开发 第 04 课:高级模板用法
  3. (*长期更新)软考网络工程师学习笔记——Section 5 数据链路层
  4. java:我们对Iterator理解错了
  5. php border-style,border-style
  6. Git 代码防丢指南,再也不怕丢失代码了!
  7. python消费kafka逻辑处理导致cpu升高_用Apache Kafka 和 Python 搭建分布式流处理系统[翻译]...
  8. wapp HTTP Error 404. The requested resource is not found.
  9. C语言线性表学生管理系统,c语言 学生信息管理系统(线性表版)
  10. 广义表存储结构图的绘制
  11. 计算机组装与维护评课稿,计算机病毒评课稿
  12. 575万奖金!2022年数学界「诺贝尔奖」发布,拓扑学大师获奖
  13. win10设置默认英文输入键盘
  14. 【PBR理论】第2讲 BRDF理想漫反射(Diffuse)
  15. 在线弹钢琴HTML源码,在线弹钢琴 1.0
  16. sysdig_Sysdig: 系统故障排查利器
  17. l440加装固态硬盘ngff_联想L440笔记本电脑加装固态硬盘笔记
  18. 用java下载apk解析包出错_教大家解析包时出现问题怎么解决
  19. 联想的高清壁纸蛮不错的,速提!
  20. FastJSON处理对象中属性值为空的数据

热门文章

  1. 数组和集合的区别?你还知道这些吗?
  2. java 文件分隔_java 实现大文件分隔成多个小文件
  3. OSG模拟鼠标事件影响操纵器
  4. 数据库服务器网页,服务器 数据库 网页前端
  5. mysql8 win10启动_Windows10 mysql 8.0.12 非安装版配置启动方法
  6. (一)Spring MVC简介
  7. protobuf oc
  8. 教你用 Newprep 一键封装工具 封装XP克隆系统- 视频教程
  9. spring +springmvc+mybatis组合web.xml文件配置
  10. 04. Web大前端时代之:HTML5+CSS3入门系列~HTML5 表单