Java 在一系列物品中很难找到最低价格 类FindMinTester1扩展了车辆硬件{ Vehiclehw[]myVehicles=新车HW[100]; 公共静态双findMin(车辆HW[]车辆){ int min=0; 对于(int i=1;i

Java 在一系列物品中很难找到最低价格 类FindMinTester1扩展了车辆硬件{ Vehiclehw[]myVehicles=新车HW[100]; 公共静态双findMin(车辆HW[]车辆){ int min=0; 对于(int i=1;i,java,arrays,object,Java,Arrays,Object,//所以我理解这个问题有点模糊,但基本上我有一个超级类叫做Vehiclehw,它有一个价格,在这个类中,我试图在100个元素的数组中找到最低的价格。我知道没有声明任何对象,但我或多或少只需要知道,鉴于这个问题,我将如何编写这个方法。我得到的只是前两行。如有任何指导,我们将不胜感激。请按以下步骤操作: class FindMinTester1 extends Vehiclehw { Vehiclehw [] myVehicles = new Vehiclehw[100]; p

//所以我理解这个问题有点模糊,但基本上我有一个超级类叫做Vehiclehw,它有一个价格,在这个类中,我试图在100个元素的数组中找到最低的价格。我知道没有声明任何对象,但我或多或少只需要知道,鉴于这个问题,我将如何编写这个方法。我得到的只是前两行。如有任何指导,我们将不胜感激。

请按以下步骤操作:

class FindMinTester1 extends Vehiclehw {

    Vehiclehw [] myVehicles = new Vehiclehw[100]; 

    public static double findMin (Vehiclehw[] theVehicles) { 

        int min = 0;

        for(int i = 1; i < Vehiclehw.length-1; i++) {
            if(Vehiclehw[i].getprice() < min)
                min = Vehiclehw[i].getprice;
        }
        return Vehiclehw;
    }
}
类FindMinTester1扩展了车辆硬件{
Vehiclehw[]myVehicles=新车HW[100];
公共静态双findMin(车辆硬件[]车辆){
如果(车辆长度==0){
返回值(-Double.MAX_值);
}
double min=车辆[0]。getprice();
对于(int i=1;i
说明:

  • 假设数组中只有一个价格。在这种情况下,它也将是最低价格。因此,您应该始终将第一个价格指定给变量
    min
    ,然后将其与下一个价格进行比较。如果下一个价格小于
    min
    的值,则将该值指定给
    min
    。对列表中的所有价格重复此操作。请注意,由于
    i
    ,循环终止于一个仍有待比较的元素。它应该是
    i
  • 您的另一个错误是在要求返回最低价格(存储在
    min
    中)时返回数组本身
  • 您必须考虑的第三件事是将
    min
    声明为
    double
    ,而不是
    int
  • 返回一些值,例如
    double
    的最小值,以避免空数组导致程序崩溃

  • 如果将
    min
    从零开始,是否会有任何价格比以前更低?
    int min=Vehiclehw[0].getprice()<代码>返回最小值
    @CoolMind工作得很好,直到
    车辆
    是空的,然后我们就有了一个AIOOBE。@ggorlen,是的。我们讨论时,有人抄袭了我们的解决方案。:)@ArvindKumarAvinash,谢谢你!我还看到了你的个人资料,发现你变得非常受欢迎。很高兴听到你!这看起来似乎是正确的。我唯一的问题是,它一直说Vehiclehw无法解析为变量,并且在if语句的.length部分给了我一个错误。但是我不明白为什么这对我来说确实有效。我非常感谢你的帮助。谢谢你。@rogersmith-别忘了接受答案,这样将来的访问者也可以自信地使用这个解决方案。检查以了解如何做。
    class FindMinTester1 extends Vehiclehw {
    
        Vehiclehw[] myVehicles = new Vehiclehw[100];
    
        public static double findMin(Vehiclehw[] theVehicles) {
            if (theVehicles.length == 0){
                return (-Double.MAX_VALUE);
            }
    
            double min = theVehicles[0].getprice();
    
            for (int i = 1; i < theVehicles.length; i++) {
                if (theVehicles[i].getprice() < min)
                    min = theVehicles[i].getprice();
            }
            return min;
        }
    }