2016-06-14 65 views
-1

我有這段代碼。這段代碼運行良好。但我的意圖是將「getLeastPriceItem」方法的返回類型設置爲「Item」而不是double。 「Item」類將保持原樣,Item類中不會有任何更改。只需幫助我將返回類型設置爲Item而不是double。 在此先感謝。Java類型數組

import java.util.*; 
public class ItemDemo { 
    public static void main(String[] args) { 
     Scanner sc1= new Scanner(System.in); 
     Scanner sc2=new Scanner(System.in); 
     Scanner sc3=new Scanner(System.in); 

     Item[] item= new Item[5]; 
     for(int i=0;i<item.length;i++) 
     { 
      System.out.println("Enter Item Id"); 
      int itemId=sc1.nextInt(); 
      System.out.println("Enter Item name"); 
      String itemName=sc2.nextLine(); 
      System.out.println("Enter Item price"); 
      double itemPrice=sc3.nextDouble(); 
      System.out.println("Enter item Discount"); 
      double itemDiscount=sc3.nextDouble(); 
      item[i]= new Item(itemId,itemName,itemPrice,itemDiscount); 
     } 

     double minValue= getLeastPriceItem(item); 
     System.out.println("Least item price "+minValue); 
    } 

    public static double getLeastPriceItem(Item[] item) 
    { 
     double min; 
     min=item[0].getItemPrice(); 
     for(int i=1;i<item.length;i++) 
     { 
      if(item[i].getItemPrice()<min) 
      { 
       min=item[i].getItemPrice(); 
      } 
     } 
     return min; 
    } 
} 
    class Item 
    { 
     private int itemId; 
      private String itemName; 
      private double itemPrice; 
      private double itemDiscount; 
      public Item(int itemId, String itemName, double itemPrice,double itemDiscount) { 
       this.itemId = itemId; 
       this.itemName = itemName; 
       this.itemPrice = itemPrice; 
       this.itemDiscount = itemDiscount; 
     } 
      public int getItemId() { 
       return itemId; 
     } 

      public double getItemPrice() { 
       return itemPrice; 
     } 
      public void getItemPrice(double itemPrice) { 
       this.itemPrice = itemPrice; 
     } 
      public double getItemDiscount() { 
       return itemDiscount; 
     } 
      public void setItemDiscount(double itemDiscount) { 
       this.itemDiscount = itemDiscount; 
     } 
      public String getName() 
      { 
       return itemName; 
      } 

     } 

回答

0

你可以保持的minItem軌道以及與min價格和返回minItem

public static Item getLeastPriceItem(Item[] item) 
    { 
     double min; 
     Item minItem = item[0]; 
     min=item[0].getItemPrice(); 
     for(int i=1;i<item.length;i++) 
     { 
      if(item[i].getItemPrice()<min) 
      { 
       min=item[i].getItemPrice(); 
       minItem = item[i]; 
      } 
     } 
     return minItem; 
    } 

希望這有助於。

0

如果您希望最小值項想要返回,您必須標識最小值項的索引。檢查下面的代碼,其中變量minIndex是最小值項目的索引。

public static Item getLeastPriceItem(Item[] item) { 
    double min = item[0].getItemPrice(); 
    int minIndex = 0; 
    for (int i = 1; i < item.length; i++) { 
     if (item[i].getItemPrice() < min) { 
      min=item[i].getItemPrice(); 
      minIndex = i; 
     } 
    } 
    return item[minIndex]; 
}