百练OJ:2799:浮点数格式

题目链接

2799:浮点数格式

描述:输入n个浮点数,要求把这n个浮点数重新排列后再输出
输入:第1行是一个正整数n(n<=10000),后面n行每行一个浮点数,保证小数点会出现, 浮点数的长度不超过50位,注意这里的浮点数会超过系统标准浮点数的表示范围。
输出:n行,每行对应一个输入。要求每个浮点数的小数点在同一列上,同时要求首列上不会全部是空格。
样例输入
    2
    -0.34345
    4545.232
样例输出
      -0.34345
    4545.232

解题思路:

本题虽然以浮点数作为标题,但实际上是对字符串的处理,因为这里的浮点数会超过系统标准浮点数的表示范围,所以用浮点数来存储输入必然不可。对于小数点后面有多少个数并没有关系,只需要找到小数点前面的字符最多的有几个即可,也就是找出小数点前面的字符串长度的最大值,对于小数点前面字符数少于该唱的的字符串,补齐空格即可。

解题代码:

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		int n=input.nextInt();
		int index=0;

		String[] strs=new String[n];
		int maxI=0;
		while(index<n) {
			String str=input.next();
			strs[index]=str;
			String i=str.substring(0, str.indexOf('.'));
			if(i.length()>maxI) {
				maxI=i.length();
			}
			index++;
		}
		for(int k=0;k<n;k++) {
			String str=strs[k];
			String i=str.substring(0, str.indexOf('.'));
			int numOfZero=maxI-i.length();
			for(int p=0;p<numOfZero;p++) {
				System.out.print(" ");
			}
			System.out.println(str);
		}
		input.close();
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康雨城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值