编写手机类(MobilePhone),含有type(型号,String类型)、price(价格,int类型)属性,要求该类实现Comparable接口,重写compareTo方法,实现按照price的大小来确定两个手机对象的大小关系。 在链表中添加三个手机对象(从键盘输入),通过Collections类的sort方法对链表中的对象按照price升序排序。输入第四个手机对象的信息,并查找它的price是否与链表中某个对象的price相同。 输入格式: 先输入三部手机的型号、价格信息 再输入要查找的第四部手机的型号、价格信息 每部手机信息的格式如:Redmi9A 599 输出格式: 先输出三部手机排序前的信息 再输出三部手机排序后的信息 最后输出第四部手机是否与前面某部手机价格相同 具体格式参考输出样例 输入样例1: 在这里给出一组输入,第四部手机与前三部中某一部价格相同。例如: HONOR70 2699 MI12 3499 VIVOS15 3299 RedmiK50 2699 输出样例1: 在这里给出相应的输出,第四部手机与前三部中某一部价格相同。例如: 排序前,链表中的数据: 型号:HONOR70,价格:2699 型号:MI12,价格:3499 型号:VIVOS15,价格:3299 排序后,链表中的数据: 型号:HONOR70,价格:2699 型号:VIVOS15,价格:3299 型号:MI12,价格:3499 RedmiK50与链表中的HONOR70价格相同
时间: 2024-03-18 20:45:38 浏览: 114
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
我明白了,以下是MobilePhone类的代码实现:
```java
import java.util.*;
public class MobilePhone implements Comparable<MobilePhone> {
private String type;
private int price;
public MobilePhone(String type, int price) {
this.type = type;
this.price = price;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
@Override
public int compareTo(MobilePhone other) {
return this.price - other.getPrice();
}
}
```
接下来是主函数的实现:
```java
public static void main(String[] args) {
List<MobilePhone> phoneList = new LinkedList<>();
Scanner scanner = new Scanner(System.in);
// 输入三部手机的信息
for (int i = 0; i < 3; i++) {
String type = scanner.next();
int price = scanner.nextInt();
MobilePhone phone = new MobilePhone(type, price);
phoneList.add(phone);
}
// 排序前输出链表中的数据
System.out.println("排序前,链表中的数据:");
for (MobilePhone phone : phoneList) {
System.out.println("型号:" + phone.getType() + ",价格:" + phone.getPrice());
}
// 对链表中的对象按照price升序排序
Collections.sort(phoneList);
// 排序后输出链表中的数据
System.out.println("排序后,链表中的数据:");
for (MobilePhone phone : phoneList) {
System.out.println("型号:" + phone.getType() + ",价格:" + phone.getPrice());
}
// 查找第四个手机对象的price是否与链表中某个对象的price相同
String type = scanner.next();
int price = scanner.nextInt();
MobilePhone phone4 = new MobilePhone(type, price);
for (MobilePhone phone : phoneList) {
if (phone.getPrice() == phone4.getPrice()) {
System.out.println(phone4.getType() + "与链表中的" + phone.getType() + "价格相同");
break;
}
}
}
```
输入样例:
```
HONOR70 2699
MI12 3499
VIVOS15 3299
RedmiK50 2699
```
输出样例:
```
排序前,链表中的数据:
型号:HONOR70,价格:2699
型号:MI12,价格:3499
型号:VIVOS15,价格:3299
排序后,链表中的数据:
型号:HONOR70,价格:2699
型号:VIVOS15,价格:3299
型号:MI12,价格:3499
RedmiK50与链表中的HONOR70价格相同
```
阅读全文