public void maxpriceBook() { double max=0; for(int i=0;i<list.size();i++) { book book = (book)list.get(i); if(list.get(i).price >max) { book price = (book)list.get(i); max =book.get(i).price; System.out.println(book.id+"\t "+book.name+"\t "+book.type+"\t"+book.type+"\t"+book.price+"\t"); break; } } return; }
时间: 2024-02-25 10:55:07 浏览: 55
Java I/O中I/O流的典型使用方式详解
这段代码有一些语法错误,需要进行修改才能正确编译和运行。以下是修改后的代码:
```java
public void maxPriceBook() {
double max = 0;
for (int i = 0; i < list.size(); i++) {
Book book = (Book) list.get(i);
if (book.getPrice() > max) {
max = book.getPrice();
}
}
for (int i = 0; i < list.size(); i++) {
Book book = (Book) list.get(i);
if (book.getPrice() == max) {
System.out.println(book.getId() + "\t" + book.getName() + "\t" + book.getType() + "\t" + book.getAuthor() + "\t" + book.getPrice());
break;
}
}
}
```
这段代码首先定义了一个`maxPriceBook`方法来查找价格最高的图书,并将其信息输出到控制台上。方法中使用了一个`max`变量来记录当前找到的最高价格,然后遍历图书列表,逐个比较价格,更新`max`变量的值。
接下来,再次遍历图书列表,找到价格等于`max`的图书,输出其信息到控制台上。注意,这里假设每本图书都有唯一的ID,因此可以通过ID来区分不同的图书。如果图书没有ID或者ID可能重复,需要使用其他方式来区分不同的图书。
另外需要注意的是,代码中的类名应该为`Book`而不是`book`,因为Java中类名应该以大写字母开头。
阅读全文