Product.javaというJavaファイルが作成されました。 Items.txtというテキストファイルも作成しました。基本的に、ユーザーがSequential Searchを使用して単語を入力すると、Items.txtから探しているデータが検索されます。私の主な問題は、すべてのレコードを表示するには3を入力し、プログラムを終了するにはxを入力すると、ループし続けます。しかし、私はこの問題を解決する方法はありません。誰も私のためにこれを解決することはできますか?BufferedReaderで任意のキーを押す
Items.txt
1000|Cream of Wheat|Normal Size|Breakfast|NTUC|5|3.00
1001|Ayam Brand|Small Size|Canned|NTUC|4|4.00
Product.java
import java.io.*;
import java.util.*;
public class Product {
public static void main(String[] args) {
ArrayList<Item> prdct = new ArrayList<Item>();
String inFile = "items.txt";
String line = "";
FileReader fr = null;
BufferedReader br = null;
StringTokenizer tokenizer;
int quantity;
String id, brandname, desc, category, supplier;
float price;
try{
fr = new FileReader(inFile);
br = new BufferedReader(fr);
line = br.readLine();
while(line!=null)
{
tokenizer = new StringTokenizer(line,"|");
id = tokenizer.nextToken();
brandname = tokenizer.nextToken();
desc = tokenizer.nextToken();
category = tokenizer.nextToken();
supplier = tokenizer.nextToken();
quantity = Integer.parseInt(tokenizer.nextToken());
price = Float.parseFloat(tokenizer.nextToken());
Item itm = new Item(id,brandname,desc,category,supplier,quantity,price);
prdct.add(itm);
line = br.readLine();
}
br.close();
}
catch(FileNotFoundException e){
System.out.println("The file " + inFile + " was not found.");
}
catch(IOException e){
System.out.println("Reading error!");
}
finally
{
if (fr!=null){
try
{
fr.close();
}
catch(IOException e)
{
System.out.println("Error closing file!");
}
}
}
String INPUT_PROMPT = "\nPlease enter 3 to display all records, 4 to insert record, 5 to remove old records " + "or enter 'x' to quit.";
System.out.println(INPUT_PROMPT);
try
{
BufferedReader reader = new BufferedReader
(new InputStreamReader (System.in));
line = reader.readLine();
while(reader != null)
{
for(int i=0; i<prdct.size(); i++)
{
if(prdct.get(i).id.contains(line) || prdct.get(i).brandname.contains(line) || prdct.get(i).desc.contains(line)
|| prdct.get(i).category.contains(line) || prdct.get(i).supplier.contains(line))
{
System.out.println(prdct.get(i));
}
System.out.println(INPUT_PROMPT);
line = reader.readLine();
}
}
while("3".equals(line))
{
for(int i=0; i<prdct.size(); i++)
{
System.out.println(prdct.get(i));
}
System.out.println(INPUT_PROMPT);
line = reader.readLine();
}
while(!line.equals("x"))
{
System.out.println(INPUT_PROMPT);
line=reader.readLine();
}
}
catch(Exception e){
System.out.println("Input Error!");
}
}
}
は、これは本当に文字列を比較する方法ですか? –
いいえ、そうではありません。修正していただきありがとうございます。投票したのではなく、編集した方がいいと思っていました。そのような評判を持っていても、あなたの好きではないものを投票する権利はありません。これが編集オプションの目的です。私はちょうど助けようとしていました。次回はもっと慎重になるでしょうが、これは心配していません。 – RoaaGharra
私はあなたの母親ではありません - あなたの後に整理するのは私のためではありません。それが動作する方法は簡単です、間違った答えをして、私はあなたをdownvoteし、それを修正し、私はdownvoteを削除します。私はちょうど静かにあなたを落として、あなたの間違いが何だったかを教えなかったかもしれません - それを好むでしょうか? –