使用文件

时间:2015-10-16 02:29:55

标签: java

我正在开发一个模仿自动售货机的程序,它需要从.txt文件中提取数据并在程序中使用该信息。我希望它要求用户输入他们的金额并给他们改变。我想将价格存储在2d数组以及项目名称中,然后让用户选择要购买的商品。我不知道怎么回事!我真的需要一些帮助,这是我到目前为止所做的。

 Code:

    import java.util.*;
    import java.io.File;
    import java.io.FileNotFoundException;

    public class Vending
    {
      public static void main(String[] args) throws FileNotFoundException
      {
          System.out.print("Enter your food selection file: ");      // User inputs file
          Scanner input = new Scanner(System.in);                       // Keyboard input from user
          Scanner fs = new Scanner(new File(input.nextLine()));         // Scans in the file that was inputed
      }         
            double price = 0;
            while(fs.hasNextLine()){
              fs.next();
                 price = fs.nextDouble();

                 System.out.print(price);
        }
      }
  

物品清单档案(Food.txt):

1        Honey roasted peanuts
1.50     Cheetos
1.50     Bugles
2        Synder’s Pretzels
1        Snickers
1        Twix
1.25     M n Ms
.75      Life savers
1        Twizzlers
1        Nutter Butters
1        Butter Fingers
1.50     King Size Kit Kats
1.25     Carrot sticks
.50      Juicy Fruit
.50      Spearmint Gum
.50      Five gum
3.50     Pepperoni
1.75     Cheez-Its
.25      Slim Jim
1.50     Lays Barbeque Chips

1 个答案:

答案 0 :(得分:1)

以下是一些想法:

  • 创建一个简单的Item而不是二维数组 POJO那个 持有物品的名称和价格。
  • 读入输入文件的每一行 并为每个创建一个Item
  • 将每个存储在一个数组中。
  • 而不是让用户输入他们的项目的准确名称 想要,模仿真正的自动售货机并为每个项目分配一个数字。 例如,迭代数组并让每个索引代表"项 数"然后打印出商品价格和名称。
  • 现在您可以拥有应用程序的主要功能:
    • 读取文件并创建数组
    • 打印选项
    • 要求用户选择一个选项
    • 要求用户提供资金
    • "返回"产品(即打印"此处为项目")
    • 计算和"返回"更改(即打印"此处 $ x.xx 返回")

这是使用Item对象进行更改计算的伪代码:

double calculateChange(Item item, double money) {
    double price = item.getPrice();
    // if assignment needs to handle "money < price", do so here
    return money - price;
}