编程初学者入门训练-小乐乐算平均分

题目描述

小乐乐输入三科成绩,请编程帮他输出三科成绩总分及平均分。

输入描述

一行,三科成绩(浮点数),成绩之间用一个空格隔开。

输出描述

一行,总分和平均分(小数点后保留两位),用一个空格隔开。

示例1

输入

79.5 80.0 98.0

输出

257.50 85.83

代码实现

import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException; 

public class Main{    
    public static void main(String[] args) throws IOException{              
        BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));        
        String[] strs=bf.readLine().split(" ");        
        Double sum=0.00;        
        Double ave=0.00;        
        for(int i=0;i<strs.length;i++){          
            sum=sum+Double.valueOf(strs[i]);        
        }        
    ave=sum/strs.length;        
    System.out.println(String.format("%.2f",sum)+" "+String.format("%.2f",ave));    
    }
}

总结

“小数点后保留两位”的方法

例如:double f=111314.9999

  1. String的format方法
System.out.println(String.format(%.2f,f));
  1. DecimalFormat的format方法
DecimalFormat df=new DecimalFormat(“#.00);
System.out.println(df.format(f));
  1. BigDecimal的setScale方法
BigDecimal bg=new BigDecimal(f);
double f1=bg.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
  1. NumberFormat的setMaximumFractionDigits方法
NumberFormat nf=new NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));

代码实现

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class format{
        double f=111314.9999;
        //方法一的实现
        public void m1(){
            System.out.println(String.format(%.2f,f));
        }
       //方法二的实现       
        public void m2(){
            DecimalFormat df=new DecimalFormat(“#.00);
            System.out.println(df.format(f));
        }
        //方法三的实现
        public void m3(){
            BigDecimal bg=new BigDecimal(f);
            double f1=bg.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
            System.out.println(f1);
        }
        //方法四的实现
        public void m4(){
            NumberFormat nf=new NumberFormat.getNumberInstance();
            nf.setMaximumFractionDigits(2);
            System.out.println(nf.format(f));
        }
         
        public static void main(String[] args){
            format f=new format();
            f.m1();
            f.m2();
            f.m3();
            f.m4();
         }
}

parseDouble()与valueOf()Double.parseDouble()与Double.valueOf()的区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值