2016-06-14 3 views
-1

Ich habe diesen Code.Dieser Code läuft gut. Aber ich beabsichtige, den Rückgabetyp der Methode "getLeastPriceItem" zu "Item" anstatt zu double zu machen. Die "Item" -Klasse wird dieselbe sein, es wird keine Änderung in der Item-Klasse geben. Hilf mir einfach, den Return-Typ als Item anstatt als Double zu machen. Vielen Dank im Voraus.Java Klassenarray

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

     } 

Antwort

0

Sie eine Spur von minItem als auch mit dem min Preis halten kann und zurück, dass 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; 
    } 

Hoffnung, das hilft.

0

Wenn Sie möchten, dass der Mindestwert als Rückgabewert ausgegeben wird, müssen Sie den Index des Mindestwertelements angeben. Überprüfen Sie den folgenden Code, wobei die Variable minIndex der Index des minimalen Wertelements ist.

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]; 
}