java新手代码大全_java新手的一串代码

该代码示例展示了如何使用Java创建一个抽象类`Good`表示商品,并扩展为`Book`类,包含商品名称、价格和页数。`Shopper`接口定义了添加商品和购买商品的方法,`Shop`类实现了该接口。购买商品时,如果找不到指定的商品,会抛出`NoGoodException`异常。在测试中,成功购买了'book1',但尝试购买不存在的'book20'时,捕获并打印了异常信息。
摘要由CSDN通过智能技术生成

importjava.util.*;importjava.io.*;abstractclassGood{Stringname;doubleprice;Good(Stringname,doubleprice){this.name=name;this.price=price;}}classBookextendsGood{Stringname;...

import java.util.*;

import java.io.*;

abstract class Good{

String name;

double price;

Good(String name,double price){

this.name=name;

this.price=price;

}

}

class Book extends Good{

String name;

double price;

int passage;

Book(String name,double price,int passage){

super(name,price);

this.passage=passage;

}

public String toString(){

return "name:"+name+" price:"+price+" passage:"+passage;

}

}

class NoGoodException extends Exception{

public NoGoodException(String msg){

super(msg);

}

}

interface Shopper{

void add(Good good);

void buy(String n) throws NoGoodException;

}

class Shop implements Shopper {

private List bookArrayList = new ArrayList<>();

@Override

public void add(Good good) {

if (good instanceof Book) {

addBook((Book) good);

}}

private void addBook(Book book) {

bookArrayList.add(book);

}

public void buy(String n) throws NoGoodException {

for (Book book : bookArrayList) {

if (book.name == n) {

System.out.println("You buy it!!! " + book.toString());

bookArrayList.remove(book);

return;

}

}

throw new NoGoodException(n + " no found");}

}

public class a {

public static void main(String[] args) throws Exception {

Good book1 = new Book("book1", 10, 155);

Good book2 = new Book("book2", 12, 168);

Shop shop = new Shop();

shop.add(book1);

shop.add(book2);

try {

shop.buy("book1");

shop.buy("book20");

} catch (NoGoodException a) {

System.out.println(a.getMessage());

}

}

}

只能输出一行。。。而且输出的结果明显不是我想要的

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值