按要求设计一个订单统计类Order,实现以下功能:
静态变量:guestCount,统计订单对象的个数;
带参数的构造函数,参数是订单名(字符串)
添加订单金额的函数 add(double price) , 金额必须大于0 ,否则不添加
double getPayment() 成员函数,返回订单金额
toString() 函数,按要求返回字符串,具体请参考测试用例。
提示:toString()方法返回的字符串需要格式化,使用 String.format() 函数,返回一个字符串,小数保留两位。该函数使用方法与 System.printf() 一样,区别在于
import java.util.ArrayList;
import java.util.Scanner;
/**
你的答案
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String oneLineString = scanner.nextLine(); // 读取一行
if (oneLineString.equals("XXX"))
break;
String[] fields = oneLineString.split(" "); // 以空格为风格,取得所有数据
if (fields.length == 1)
break;
Order order = new Order(fields[0]);
for (int i = 1; i < fields.length; i++) {
order.add(Double.parseDouble(fields[i]));
}
System.out.println(order.toString());
System.out.printf("The payment:%.2f\n", order.getPayment());
}
scanner.close();
System.out.printf("We have %d guests.", Order.guestCount);
}
}