题目
类的设计应用:
算机组装店有很多品牌的计算机配件,包括处理器(CPU)、主板(mainBoard)、内存(Ram)、……等。 每种配件都多个厂家(company)、型号(type)、价格(price)三个基本信息。
按下图所示的类的关系和要求编写适当的类,实现相关的功能。
1、假设每种配件有两个厂家,每个厂家产品有两个型号,每个型号价格不同
2、程序运行时逐个显示不同配件的型号,提供 配件型号选择菜单(如输入1,代表选择型号1,输入2,代码选择型号2)
3、根据选择的配件型号,创造出一个Computer实例,
4、 创建实例完成时,输出总价格
5、调用Conputer实例的showDetail()方法,输出输出配件的详细信息。
根据类图完成类的设置,并在Test类的main方法中测试你的程序
其实我没太搞懂他的考点在哪
代码
package java_3;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//what?代表型号是0和1吧?
System.out.println("欢迎PC DIY");
System.out.println("选择你喜欢的配件,组装合适你的电脑:");
System.out.println("0.显示器:[制造商=KTC,产品名称=显示器,型号KTC2400,价格=1500.0,尺寸:24]");
System.out.println("1.显示器:[制造商=联想,产品名称=显示器,型号21寸高清,价格=1700.0,尺寸:27]");
System.out.println("请选择显示器");
Scanner sc=new Scanner(System.in);
int type_0=sc.nextInt();
Computer a,b;
if(type_0==0) {
a =new Computer("KTC","显示器","KTC2400",1500.0,"24");
}else {
a =new Computer("联想","显示器","21寸高清",1700.0,"21");
}
System.out.println("0.CPU:[制造商=Intel,产品名称=CPU,型号I7-7600,价格=1500.0,缓存:2M]");
System.out.println("1.CPU:[制造商=Intel,产品名称=CPU,型号I5-7600,价格=1000.0,缓存:1M]");
System.out.println("请选择cpu");
int type_1=sc.nextInt();
if(type_1==0) {
b=new Computer("Intel","CPU","I7-7600",1500.0,"2M");
}else {
b=new Computer("Intel","CPU","I5-7600",1000.0,"1M");
}
System.out.println("电脑的总价格是:"+(a.getPrice()+b.getPrice()));
System.out.println("组装机:[制造商=DIY,产品名称=组装机,型号null,价格=2700.0]");
System.out.println("配件:");
b.showDetail();
a.showDetail();
}
}
class Computer{
private String company,product, type, size;
private double price=0.0;
public Computer(String Company, String Type, String Product, double Price, String Size) {
// TODO Auto-generated method stub
product=Product;
company=Company;
type=Type;
price=Price+price;
size=Size;
}
public double getPrice() {
return price;
}
public void showDetail() {
System.out.print(type+":[制造商="+company+",产品名称="+type+",型号"+product+",价格="+price);
if(type.equals("显示器")) {
System.out.println(",尺寸:"+size+"]");
}else {
System.out.println(",缓存:"+size+"]");
}
}
}