2014-01-29 36 views
0

我是編程新手。嘗試對數組元素進行排序時遇到問題。如何使用元素對數組進行排序需要幫助

計劃:

for(int i=0;i<num;i++){ 
     System.out.print("Enter product ID: "); 
     pro[i].product_ID=sc.next(); 
     System.out.print("Enter product name: "); 
     pro[i].name=sc.next(); 
     System.out.print("Enter price: "); 
     pro[i].price=sc.nextFloat(); 
     pro[i].discount_price=(float)((pro[i].price)/3); 
} 
for(int i=0;i<num;i++){ 
     for(int j=0;j<50;j++) 
     System.out.print("-"); 
     System.out.println(""); 
     System.out.println("Product Details:\n"); 
     System.out.println("Product ID: "+pro[i].product_ID); 
     System.out.println("Product Name: "+pro[i].name); 
     System.out.println("MRP Price: Rs "+pro[i].price); 
     System.out.println("Our price: Rs "+pro[i].discount_price); 

} 

當我試圖打印,其打印以相同的順序,而不是根據名字。爲什麼數組中的更改沒有得到反饋? 請幫忙.... 在此先感謝!

+3

哪裏是數組排序邏輯排序? –

+0

如果您可以移動到ArrayList,那麼使用Comparator.sort(arraylist obj)對列表進行排序將很簡單;否則你需要編寫邏輯 – Kick

+1

@ user2115021'Arrays.sort(array)'可以對數組進行排序 – Njol

回答

1

您的產品通過自己的名字,你可以使用

Arrays.sort(pro, new Comparator<Product>() { 
     @Override 
     public int compare(Product p1, Product p2) { 
      return p1.name.compareToIgnoreCase(p2.name); 
     } 
    }); 

(更改Product你使用任何類來表示你的產品)

相關問題