私は書籍情報を持つファイルを持っています。私はファイルを配列に読み込んでメニューを提供する必要があります。コードを実行してオプション1を選択すると、テキストファイルのデータが削除されます。なぜこうなった?オプション1を選択したとき、私は、書籍の数を本を選んだことができるように、ユーザーが必要とし、それらに価格を表示しテキストファイルを配列に読み込んで別のタスクを実行する
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.*;
public class BookProgram {
static Scanner input = new Scanner(System.in);
public static void main(String[] args) throws FileNotFoundException {
Scanner fileInput = new Scanner(new File("src/BookData.txt"));
PrintWriter output = new PrintWriter("src/BookData.txt");
String newID = "";
String title = "";
String newPrice = "";
ArrayList<String> prices = new ArrayList<>();
ArrayList<String> IDs = new ArrayList<>();
while (fileInput.hasNextLine()) {
prices.add(fileInput.next());
String line = fileInput.nextLine();
String[] price = line.split(" ");
prices.add(price[0]);
IDs.add(price[1]);
}
// display menu
display();
int userChoice = input.nextInt();
while (fileInput.hasNextLine()) {
System.out.println(fileInput.nextLine());
}
if (userChoice == 1) {
System.out.println("Enter the Book ID that you wish to buy: ");
int bookID = input.nextInt();
System.out.println("How many of those books do you want to buy?: ");
int numOfBooks = input.nextInt();
System.out.println("Price: " + numOfBooks);
}
if (userChoice == 2) {
addBook();
output.println(newID + " " + title + " " + newPrice); // save to the
// file
}
}
// method to display menu
public static void display() {
System.out.println("1) Purchase Menu");
System.out.println("2) Add Book to Inventory");
System.out.println("3) Remove Book from Inventory");
System.out.println("4) Quit");
System.out.println("Enter your choice: ");
}
// method to display all the info
public static void purchaseMenu() {
}
// method to add to the text file
public static void addBook() {
System.out.println("Enter the ID: ");
String newID = input.nextLine();
System.out.println("Enter the title: ");
String title = input.nextLine();
System.out.println("Enter the price: ");
String newPrice = input.nextLine();
}
}
何が起こっているかを見つけるために、デバッガを使用してください。ここで答えを待っているよりはるかに早い。 –
どうすればいいですか?私はデバッガを一度も使用していません – Boundz
eclipseでJava用デバッガを使用する方法://www.vogella.com/tutorials/EclipseDebugging/article.html –