バッファ付きのテキストファイルから配列を作成しようとしています。このクラスは、メインメソッドを持つ別のクラスによって使用されます。私が持っているのはファイルを印刷するだけです...私が必要とするのは、テキストファイルをミラーリングしながら、行ごとに作成された文字列の配列を持つことです。私はその配列に対して、ユーザー入力からのストリングを使用して検索する必要があります(その部分もメインメソッドになります)。これは製品に名前を付け、対応する価格を見つけます。 ArrayList、Maps、Vectorsなどを使うことはできません。これはJava8にあります。/** * BufferedReaderの を使用してvmMix1テキストファイルからインベントリに読み込むクラス* @著者ミシェルメリット */コレクションクラスなしでテキストファイルから文字列配列を構築する
import java.io.*;
public class VendingMachine1
{
BufferedReader inInvFile1 = new BufferedReader(
new FileReader("vmMix1.txt"))
/**
* A method to print vending machine 1 inventory
*/
public void printVM1()
{
try
{
String vm1Line;
while((vm1Line = inInvFile1.readLine()) != null)
{
// This is what I was using for now to simply print my file
System.out.println(vm1Line);
}
}
catch(IOException e)
{
System.out.println("I/O Error: " + e);
}
}
}
私が見えることはできませんので、これは、私のテキストファイルを作成したコードです代わりにテキストファイルをどのように添付するかを確認してください。 /** * * a PrintWriterストリームを使用して、自動販売機1で見つかった在庫を作成するクラス。 * @ */
私は動的にするこの事のために必要なimport java.io.*;
public class VMMix1
{
public static void main(String[] args)
{
String [] product = {"Coke", "Dr. Pepper", "Sprite", "RedBull",
"Cool Ranch Doritos", "Lay's Potato Chips",
"Pretzels", "Almonds", "Snickers", "Gummi Bears",
"Milky Way", "KitKat"};
String [] packaging = {"bottle", "can", "can", "can", "bag", "bag",
"bag", "bag", "wrapper", "bag", "wrapper",
"wrapper"};
float [] price = {2.25f, 1.75f, 1.75f, 2.00f, 1.00f, 1.00f, 0.75f, 1.50f,
1.25f, 1.00f, 1.25f, 1.25f};
int [] quantity = {10, 10, 10, 12, 8, 10, 12, 9, 7, 11, 10, 8};
try(PrintWriter outFile = new PrintWriter("vmMix1.txt"))
{
for (int index = 0; index < product.length; index++)
{
outFile.printf("%-18s %-10s: $%.2f qty: %3d\n", product[index],
packaging[index], price[index], quantity[index]);
}
}
catch (IOException except)
{
System.out.println("IOException: " + except.getMessage());
}
}
}
著者ミシェルメリット 。プログラムが実行されて何かが購入されると、私は在庫を失い、自動販売機の金額を変更する必要があります(貨幣の金額を収容する別のクラスの通貨があります)。私は配列の値を維持し、更新された配列を再印刷する必要があります。どんな助けも大歓迎です。
コレクションを使用できない特別な理由はありますか?またはそれはちょうど「挑戦」です –
@ジェラルド・ムッキーそれはクラスのためであり、私たちはまだそれらを越えていません。割り当てには明示的に使用できないことが明示されています。 –
これまでに提供された回答はStreamsを使用しています。あなたはそれらを使うことが許されていますか?また、配列にデータを読み込むことについての質問だけでしたか、または各行を読むときに在庫を更新するためにそれを使用することについて質問がありましたか? –