POJ 1004 Financial Management

Financial Management
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 164661 Accepted: 61136

Description

Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab hold of his financial portfolio and solve his financing problems. The first step is to figure out what's been going on with his money. Larry has his bank account statements and wants to see how much money he has. Help Larry by writing a program to take his closing balance from each of the past twelve months and calculate his average account balance.

Input

The input will be twelve lines. Each line will contain the closing balance of his bank account for a particular month. Each number will be positive and displayed to the penny. No dollar sign will be included.

Output

The output will be a single number, the average (mean) of the closing balances for the twelve months. It will be rounded to the nearest penny, preceded immediately by a dollar sign, and followed by the end-of-line. There will be no other spaces or characters in the output.

Sample Input

100.00
489.12
12454.12
1234.10
823.05
109.20
5.27
1542.25
839.18
83.99
1295.01
1.75

Sample Output

$1581.42

Source

Mid-Atlantic 2001

以下代码可以通过。

import java.util.*;
import java.text.*;

public class Main {
	public static void main(String[] args){
		Scanner cin = new Scanner(System.in);
		
		float value = 0;
		float temp = 0;
		
		for(int i=0; i<12; i++){
			temp = Float.valueOf(cin.nextLine()).floatValue();
			value += temp;
		}
		cin.close();
		value = value / 12;
		
		DecimalFormat df = new DecimalFormat(".00");
		String str = df.format(value);
		
		System.out.println("$" + str);
	}
}



于此同时,我的BigDecimal的版本总是被报告Runtime Error。不知何故。

//import java.io.BufferedInputStream;
import java.math.BigDecimal;
import java.util.Scanner;
 
public class Main {
  
    public static void main(String[] args) {
        //Scanner in = new Scanner(new BufferedInputStream(System.in));
    	Scanner in = new Scanner(System.in);
        String str = null;
        BigDecimal total = new BigDecimal(0);
        for(int i=0; i<12; i++){
        	str = in.nextLine();
        	total = total.add(new BigDecimal(str));
        }
        in.close();
       BigDecimal average = total.divide(new BigDecimal(12));
       System.out.println("$" + average.toString()); 
    }
}



你可能感兴趣的:(POJ 1004 Financial Management)