*PAT_B_1024_Java(20分)
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分)相关推荐
- 7-1 查找书籍(20 分)(程序设计天梯赛模拟练习题)
7-1 查找书籍(20 分) 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价. 输入格式: 输入第一行给出正整数n(<10),随后给出n本书的信息.每本书 ...
- PTA—输出全排列 (20分) 递归回溯思想
PTA-输出全排列 (20分) 递归回溯思想 题目要求: 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出 ...
- 2、求100以内的素数之和。(20分)
题目: /* 2.求100以内的素数之和.(20分) */ 代码: public class Two207 {public static void main(String[] args) {int s ...
- 1、输入四个整数,按照从小到大顺序输出。(20分)
题目: /* 1.输入四个整数,按照从小到大顺序输出.(20分) */ 代码: 注:题目说的是四个数的排序,我就直接写了个冒泡排序 public class One207 {public static ...
- /* * 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“
题目: 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***************** 所谓" ...
- /* * 编程题第四题(20分): 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。 */
题目: /* 编程题第四题(20分): 用1元5角钱人名币兑换5分.2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案. */ 我使用java做的 public class ...
- /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */
题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...
- /* * 编程第二题(20分): 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第十次落地时,共经过多少米?第十次反弹多高? */
题目: /* * 编程第二题(20分): 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第十次落地时,共经过多少米?第十次反弹多高? */ 我是用java做的 public ...
- /* * 编程第一题(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 ...
最新文章
- getBytes等空指针异常
- request用法_Go 语言 Web 应用开发 第 04 课:高级模板用法
- (*长期更新)软考网络工程师学习笔记——Section 5 数据链路层
- java:我们对Iterator理解错了
- php border-style,border-style
- Git 代码防丢指南,再也不怕丢失代码了!
- python消费kafka逻辑处理导致cpu升高_用Apache Kafka 和 Python 搭建分布式流处理系统[翻译]...
- wapp HTTP Error 404. The requested resource is not found.
- C语言线性表学生管理系统,c语言 学生信息管理系统(线性表版)
- 广义表存储结构图的绘制
- 计算机组装与维护评课稿,计算机病毒评课稿
- 575万奖金!2022年数学界「诺贝尔奖」发布,拓扑学大师获奖
- win10设置默认英文输入键盘
- 【PBR理论】第2讲 BRDF理想漫反射(Diffuse)
- 在线弹钢琴HTML源码,在线弹钢琴 1.0
- sysdig_Sysdig: 系统故障排查利器
- l440加装固态硬盘ngff_联想L440笔记本电脑加装固态硬盘笔记
- 用java下载apk解析包出错_教大家解析包时出现问题怎么解决
- 联想的高清壁纸蛮不错的,速提!
- FastJSON处理对象中属性值为空的数据
热门文章
- 数组和集合的区别?你还知道这些吗?
- java 文件分隔_java 实现大文件分隔成多个小文件
- OSG模拟鼠标事件影响操纵器
- 数据库服务器网页,服务器 数据库 网页前端
- mysql8 win10启动_Windows10 mysql 8.0.12 非安装版配置启动方法
- (一)Spring MVC简介
- protobuf oc
- 教你用 Newprep 一键封装工具 封装XP克隆系统- 视频教程
- spring +springmvc+mybatis组合web.xml文件配置
- 04. Web大前端时代之:HTML5+CSS3入门系列~HTML5 表单