2011-09-13 29 views
0

我应该创建一个应用程序来跟踪当地咖啡店的物品,此外还提供了打印出物品清单的方法。我应该创建一个名为Item类,创建和排序数组CoffeeDriver

  • String实例变量来保存项目名称
  • 双实例变量持有这个价位
  • 一个构造函数的String和双初始化实例变量
  • 一个get和set方法为每个实例变量

然后我应该创建这些方法的CoffeeDriver:

  • sortName - 这种方法排序项目按照项目名称数组,然后显示的名称和屏幕上的所有项目的价格
  • sortPrice - 这种方法排序的项目由项目价格的数组,然后显示姓名以及屏幕上所有项目的价格
  • main - 它使用上面的数据创建一个Item对象数组来设置每个Item的信息。初始化数组后,提示用户他们想如何查看列表 - 按名称或价格排序。然后调用适当的方法。

这是我迄今为止的咖啡驱动程序的代码。这个Java的事情是真的很难,我:(

import javax.swing.*; 
import java.text.DecimalFormat; 
import java.util.*; 

public class CoffeeDriver 
{ 
    public static void main(String[] args) 
    { 
     Item[] items = new Item[] 
     { 
      new Item("Donut", .75), 
      new Item("Coffee", 1.00), 
      new Item("Bagel", 1.25), 
      new Item("Milk", 1.50), 
      new Item("Water", 2.00) 
     }; 

     Object[] possibleValues = { "Price", "Name" }; 
     Object selectedValue = JOptionPane.showInputDialog(null, 
      "How would you like items sorted", "SORTING", 
      JOptionPane.INFORMATION_MESSAGE, null, 
      possibleValues, possibleValues[0]); 

     if(selectedValue == "Price") 
     {  
      System.out.println("sorting by price" + items); 
     } 
    } 

    public static void sortPrice(String[] name, double[] price) 
    { 
     DecimalFormat money = new DecimalFormat("$0.00"); 
     arrays.sort(price); 

     JOptionPane.showMessageDialog(null, name[0]+ " " + money.format(price[0]) + "\n" + 
      name[1] + " " + money.format(price[1]) + "\n" + 
      name[2] + " " + money.format(price[2]) + "\n" + 
      name[3] + " " + money.format(price[3]) + "\n" + 
      name[4] + " " + money.format(price[4])); 
     } 
    } 
} 
+0

这个作业是否正确? –

+0

你的问题是什么? –

+0

除了下面的答案之外不要把你排序在main子类中创建两个方法'sortByName()'和'sortByPrice()'。使用Arraylist而不是数组。也可以使用比较器http://download.oracle.com/javas E/6 /文档/ API/JAVA/UTIL/Comparator.html。 – Shahzeb

回答

0

如果(==了selectedValue “价格”)

不要使用 “==” 来比较的对象。使用等号( )方法