做了个容器题,因为用到Double型输出的时候保留了小数点后很多位,不美观也不实用于是去查了保留小数点位数的写法
于是就是这样
保留几位就写几个0,很简单
顺便为了防止自己以后不会做这道题,把代码贴一下
package exp3;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class OnlineShop {
public static void main(String []args) {
Map books=new HashMap();
String []booksName=null;
Scanner in=new Scanner(System.in);
int n=in.nextInt();
for(int i=0;i<n;i++) {
books.put(i, new BooksInfor(in.next(),in.nextDouble(),in.nextInt()));
}
double Total=getSum(books);
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(Total));
}
private static double getSum(Map books) {
// TODO 自动生成的方法存根
double sum=0;
for(int i=0;i<books.size();i++) {
sum+=((BooksInfor)books.get(i)).getEtotal();
}
return sum;
}
}
class BooksInfor{
private String name;
private double price;
private int amount;
public BooksInfor(String next,double nextDouble, int nextInt) {
// TODO 自动生成的构造函数存根
name=next;
price=nextDouble;
amount=nextInt;
}
double getPrice() {
return price;
}
int getAmount() {
return amount;
}
double getEtotal() {
return price*amount;
}
}