Question: I Need Some Help After I Enter the Data The Data Is Suppose To Save To The item.txt But For Some Reason It is Not
I Need Some Help After I Enter the Data The Data Is Suppose To Save To The item.txt But For Some Reason It is Not Saving.
import java.io.*; import java.util.Scanner; public class Driver { public static void main(String[] args) { //local constants //local variables String fileName = "items.txt"; Scanner scanner = null; ItemsList itemsList = new ItemsList(5); int i = 0; int choice = 0; String itemName; String name; double price; int qty; String cho = "y"; Scanner scan = new Scanner(System.in); //**************************************************************************** do { //Ask the user the following System.out.println("Menu"); System.out.println("1. Add item"); System.out.println("2. Display items"); System.out.println("3. Exit"); System.out.println("Enter your choice"); choice = scan.nextInt(); switch(choice) { //Add an item to the itemsList case 1: //Ask user for to enter information System.out.println("\tEnter item name : "); name=scan.next(); System.out.println("\tEnter price : "); price = scan.nextDouble(); System.out.println("\tEnter quantity : "); qty= scan.nextInt(); //Add the OneItem to the itemsList itemsList.addItem(new OneItem(name, price, qty)); break; case 2: //print the list //print heading with specific formatter System.out.printf("%-10s%-10s%-10s ", "Item","Price","Quantity"); System.out.println(itemsList.toString()); break; case 3: //Terminate the program System.out.println("Terminate the program."); break; default: System.out.println("Incorrect option is selected."); break; } //Ask user if they would like to continue System.out.print("\t\tWould to like to continue <(Y or N)> : "); cho = scan.next(); System.out.println(); writeToFile(itemsList); } while(cho.equalsIgnoreCase("Y")); //open the file and catch the exception if file not found try { //create an instance of scanner scan = new Scanner(new File(fileName)); //read file items until end of file while(scan.hasNext()) { itemName = scan.next(); price = scan.nextDouble(); qty=scan.nextInt(); //Add the OneItem object to the itemList itemsList.addItem(new OneItem(itemName, price, qty)); i++; } //close the file object scan.close(); } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } } private static void writeToFile(ItemsList itemsList) { //Create a file name called items.txt String filename="items.txt"; //Create a variable of Class PrintWriter PrintWriter filewriter=null; try { //create an instance of PrintWriter filewriter=new PrintWriter(new File(filename)); //close the file writer filewriter.close(); } catch (IOException e) { System.out.println(e.getMessage()); } } }//end Driver class
====================================
public class ItemsList { //declare variables private OneItem items[]; private int size; private int count; //constructor to set items, size and count to zero public ItemsList() { items = null; size = 0; count = 0; } //Parameter constructor public ItemsList(int size) { items = new OneItem[size]; for (int i = 0; i < items.length; i++) { items[i] = new OneItem(); } this.size = size; count = 0; } //Add OneItem to the itemlist public void addItem(OneItem item) { if(items.length == count) { resize(); items[count] = item; count++; } else { items[count] = item; count++; } } //Resize private void resize() { int oldsize = size; count = oldsize; int newsize = 2 * this.size; size = newsize; OneItem[] tempList = new OneItem[size]; for (int i = 0; i < oldsize; i++) tempList[i] = items[i]; items = new OneItem[size]; items = tempList; } //getSize public int getSize() { return count; } //toString public String toString() { String description = ""; for (int i = 0; i =============================== public class OneItem { //declare a variables private String name; private double price; private int quantity; //default constructor public OneItem() { name = ""; price = 0; quantity = 0; } //parameter constructor public OneItem(String name, double price, int quantity) { this.name = name; this.price = price; this.quantity = quantity; } //toString public String toString() { return String.format("%-10s%-10.2f%-10d ", name,price,quantity); } }//end of the OneItem class
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
