【PAT】乙级1012 数字分类(JAVA版)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main{
	
	public static String f1(List<Integer> number) {
		int sum=0;
		for(int i:number) {
			if(i%2==0) {
				sum+=i;
			}
		}
		if(sum==0) {
			return "N";
		}else {
			return String.valueOf(sum);
		}
	}
	
	public static String f2(List<Integer> number) {
		if(number.size()==0) {
			return "N";
		}
		int sum=0;
		for(int i=0;i<number.size();i++) {
			sum+=Math.pow(-1,i+2)*number.get(i);
		}
		return String.valueOf(sum);
	}
	
	public static String f3(List<Integer> number) {
		if(number.size()==0) {
			return "N";
		}
		return String.valueOf(number.size());
	}
	
	public static String f4(List<Integer> number) {
		if(number.size()==0) {
			return "N";
		}
		double sum=0;
		for(int i:number) {
			sum+=(double)i;
		}
		double avg=sum/number.size();
		java.text.DecimalFormat df = new java.text.DecimalFormat("#.0"); 
		return String.valueOf(df.format(avg));
	}
	
	public static String f5(List<Integer> number) {
		if(number.size()==0) {
			return "N";
		}
		int max=number.get(0);
		for(int i:number) {
			if(i>max) {
				max=i;
			}
		}
		return String.valueOf(max);
	}
	
	public static void main(String[] args) throws IOException {
		List<Integer> a1=new ArrayList<Integer>();
		List<Integer> a2=new ArrayList<Integer>();
		List<Integer> a3=new ArrayList<Integer>();
		List<Integer> a4=new ArrayList<Integer>();
		List<Integer> a5=new ArrayList<Integer>();
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String str=br.readLine();
		br.close();
		String[] stra=str.split(" ");
		for(int i=1;i<stra.length;i++) {
			if(Integer.parseInt(stra[i])%5==0) {
				a1.add(Integer.parseInt(stra[i]));
			}
			if(Integer.parseInt(stra[i])%5==1) {
				a2.add(Integer.parseInt(stra[i]));
			}
			if(Integer.parseInt(stra[i])%5==2) {
				a3.add(Integer.parseInt(stra[i]));
			}
			if(Integer.parseInt(stra[i])%5==3) {
				a4.add(Integer.parseInt(stra[i]));
			}
			if(Integer.parseInt(stra[i])%5==4) {
				a5.add(Integer.parseInt(stra[i]));
			}
		}
		String result=f1(a1)+" "+f2(a2)+" "+f3(a3)+" "+f4(a4)+" "+f5(a5);
		System.out.println(result); 
	}
}

java保留小数点后位数

java.text.DecimalFormat df = new java.text.DecimalFormat("#.0");

double d = 3.14159;

System.out.println(df.format(d));

 

注意:

第四个函数中,最后需要有小数位数,所以不能用int,需要用double

否则会自动转换数字的类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值