我有3个字段的数据集,如 mobile_brand ,价格和评分。
现在有一个人带有 mobile_brand 和他的预算(即他的价格范围)。我必须以最好的评级返回适合客户价格范围品牌的价值。例如
windows 200 100
windows 100 52
android 300 9
ios 200 99
windows 452 50
现在customer1有以下要求mobile_type和他的范围
windows 500
这让他有3个选项,但是option1的评分最高,所以应该返回。我只是摸不着头脑要使用什么数据结构以及如何比较。我尝试使用地图,但这不是解决方案,因为没有唯一的字段来制作一个键注意:有超过3个字段但为了简单起见,我只保留了3个字段。 / p>
答案 0 :(得分:0)
我要去做一个简单的多课程。
public class Computer{
public String type;
public int price;
public int rating;
public Computer(String type, int price, int rating){ this.type=type; this.price=price; this.rating=rating;
}
你可以通过按价格划分评级来做一个降压。显然你可以做一些修修补补。
//elsewhere in a runner class
Computer mostEfficient=null;
double bestEfficiency=0;
for(int i=0;i<computers.length;i++){//where computers is an array of "Computer"s
if(computers[i].type.Equals(typeWeAreLookingFor){
double newEfficiency=(computers[i].rating+50)/((double)(computers[i].price));
if(newEfficiency>bestEfficiency){
mostEfficient=computers[i];
bestEfficiency=newEfficiency;
}
}
}
如果您需要知道如何从文本文件或其他内容中读取这些字段,请告诉我