老师,我重写了比较的方法,但是排序仍然出现问题,没找到哪里不对,望指正
package Test2001;
import java.util.Arrays;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
shangpin[] aa=new shangpin[5];
aa[0] = new shangpin(1,"百战牌鼠标","BZ_001",99.21,0.9);
aa[1] = new shangpin(2,"键盘侠玩偶","WO_102",403.00,0.7);
aa[2] = new shangpin(3,"实战java程序设计","BK_001",89.00,0.8);
aa[3] = new shangpin(4,"高琪牌西装","GQ_XF_12",700.00,0.5);
aa[4] = new shangpin(5,"大米牌手机","DM_PH_13",900.00,0.3);
for (int i = 0; i < 5; i++) {
System.out.println(aa[i]);
}
System.out.println("请输入一个价格");
Scanner yy=new Scanner(System.in);
double x=(double)(yy.nextInt());
for (int i = 0; i < 5; i++) {
aa[i].zhiding(x);
}
Arrays.sort(aa);
for (int i = 0; i < 5; i++) {
System.out.println(aa[i]);
}
}
}
class shangpin{
private int id;
private String name;
private String xinghao;
private double jiage;
private double zhekou;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getXinghao() {
return xinghao;
}
public void setXinghao(String xinghao) {
this.xinghao = xinghao;
}
public double getJiage() {
return jiage;
}
public void setJiage(double jiage) {
this.jiage = jiage;
}
public double getZhekou() {
return zhekou;
}
public void setZhekou(double zhekou) {
this.zhekou = zhekou;
}
public shangpin(int id, String name, String xinghao, double jiage, double zhekou) {
this.id = id;
this.name = name;
this.xinghao = xinghao;
this.jiage = jiage;
this.zhekou = zhekou;
}
public shangpin() {
}
@Override
public String toString() {
return "{" +
id +"\t"+
name + "\t" +
xinghao + "\t" +
jiage +"\t"
+ zhekou +
'}';
}
public void zhiding(double a){
if(this.jiage*this.zhekou>a){
System.out.println("{" +
id +"\t"+
name + "\t" +
xinghao + "\t" +
jiage +"\t"
+ zhekou +
'}');
}
}
public int compareTo(Object o){
shangpin m2=(shangpin)o;
if(this.zhekou>m2.zhekou){
return 1;
}
if(this.zhekou<m2.zhekou){
return -1;
}
return 0;
}
}