如何根据各种输入字段搜索数据

时间:2018-02-10 12:25:11

标签: java algorithm

我有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>

1 个答案:

答案 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;
        }
    }
} 

如果您需要知道如何从文本文件或其他内容中读取这些字段,请告诉我