编写手机类(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价格相同 输入样例2: 在这里给出一组输入,第四部手机与前面三部的价格都不同。例如: RedmiNote9 1349 HonorX30 1699 VIVOT2X 1599 OPPOk10 2199 输出样例2: 在这里给出相应的输出,第四部手机与前面三部的价格都不同。例如: 排序前,链表中的数据: 型号:RedmiNote9,价格:1349 型号:HonorX30,价格:1699 型号:VIVOT2X,价格:1599 排序后,链表中的数据: 型号:RedmiNote9,价格:1349 型号:VIVOT2X,价格:1599 型号:HonorX30,价格:1699 链表中的对象,没有一个与OPPOk10价格相同的
时间: 2024-02-29 10:56:43 浏览: 66
以下是Java代码实现:
```java
import java.util.*;
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 int getPrice() {
return price;
}
@Override
public int compareTo(MobilePhone o) {
return this.price - o.price;
}
@Override
public String toString() {
return "型号:" + this.type + ",价格:" + this.price;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<MobilePhone> list = new LinkedList<>();
// 输入三部手机的信息,创建对象并加入链表
for (int i = 1; i <= 3; i++) {
System.out.print("输入第" + i + "部手机的型号、价格:");
String type = scanner.next();
int price = scanner.nextInt();
list.add(new MobilePhone(type, price));
}
// 输出排序前的链表信息
System.out.println("排序前,链表中的数据:");
for (MobilePhone mp : list) {
System.out.println(mp);
}
// 对链表进行排序
Collections.sort(list);
// 输出排序后的链表信息
System.out.println("排序后,链表中的数据:");
for (MobilePhone mp : list) {
System.out.println(mp);
}
// 查找第四部手机的价格是否与链表中某个对象的价格相同
System.out.print("输入第四部手机的型号、价格:");
String type = scanner.next();
int price = scanner.nextInt();
boolean found = false;
for (MobilePhone mp : list) {
if (mp.getPrice() == price) {
found = true;
System.out.println(type + "与链表中的" + mp.getType() + "价格相同");
break;
}
}
if (!found) {
System.out.println("链表中的对象,没有一个与" + type + "价格相同的");
}
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)