【PAT甲级 ArrayList存放class】1011 World Cup Betting (20 分) Java版 3/3通过 四舍五入保留两位小数

题目

一共给9个数,3*3,找到每行最大,按照题目要求套算式,计算就行
【PAT甲级 ArrayList存放class】1011 World Cup Betting (20 分) Java版 3/3通过 四舍五入保留两位小数_第1张图片


坑 & 心得

没啥坑,一次通过,用到的知识点是:自定义排序、四舍五入保留两位小数

DecimalFormat df = new DecimalFormat("#0.00"); // 保留两位小数
		System.out.println(df.format(max));

代码

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		List<A> l1 = new ArrayList<A>();
		l1.add(new A(sc.nextDouble(), "W"));
		l1.add(new A(sc.nextDouble(), "T"));
		l1.add(new A(sc.nextDouble(), "L"));

		List<A> l2 = new ArrayList<A>();
		l2.add(new A(sc.nextDouble(), "W"));
		l2.add(new A(sc.nextDouble(), "T"));
		l2.add(new A(sc.nextDouble(), "L"));

		List<A> l3 = new ArrayList<A>();
		l3.add(new A(sc.nextDouble(), "W"));
		l3.add(new A(sc.nextDouble(), "T"));
		l3.add(new A(sc.nextDouble(), "L"));

		Collections.sort(l1);
		Collections.sort(l2);
		Collections.sort(l3);

		double max = ((l1.get(0).num * l2.get(0).num * l3.get(0).num * 0.65) - 1) * 2;
		DecimalFormat df = new DecimalFormat("#0.00");
		System.out.println(l1.get(0).str + " " + l2.get(0).str + " " + l3.get(0).str + " " + df.format(max));
	}

}

class A implements Comparable<A> {
	double num;
	String str;

	public A(double num, String str) {
		this.num = num;
		this.str = str;
	}

	@Override
	public int compareTo(A a) {
		if (a.num > num)
			return 1;
		else if (a.num < num)
			return -1;
		else
			return 0;
	}
}

结果

【PAT甲级 ArrayList存放class】1011 World Cup Betting (20 分) Java版 3/3通过 四舍五入保留两位小数_第2张图片

你可能感兴趣的:(PAT官网练习题)