gpt4 book ai didi

Java 将输入追加到文件

转载 作者:行者123 更新时间:2023-12-01 07:17:44 24 4
gpt4 key购买 nike

我的老师让我做这个练习来创建一个计算器,它可以将操作存储到文件中并稍后读出。我找到了作家,也找到了计算器;但作者以某种方式覆盖文件中的所有内容而不是添加。我尝试了 bufferedWrtier 附加,现在我正在尝试 Printwriter。

调试显示我的列表已正确填充;但结果是,保存的文件只包含最后一个输入的数字和最后一个输入的运算符。

public class Rechnung {
static Scanner scanner = new Scanner(System.in);
static double zahl1, zahl2, ergebnis;
static String op;
static boolean abbruch = true;
static File fileName = new File("Therme.txt");
static String numbers1;
static String eingabe;

public static void eingabe() {

while (abbruch) {
System.out.println("Geben Sie eine Zahl ein: ");
Listen.numbersDouble.add(scanner.nextDouble());
System.out.println("Bitte entscheiden Sie sich für '+', '-', '/', '*', '=': ");
op = scanner.next();
Listen.operators.add(op);

if (op.equals("=")) {
for (int i = 0; i < Listen.operators.size(); i++)
{
Writer.write(String.valueOf(Listen.numbersDouble.get(i)), Listen.operators.get(i));
}
abbruch = false;

}

else {
}

}
System.out.println(ausgabe());
}

public static double rechnen(String op, double zahl1, double zahl2)

{

switch (op) {
case "+":
ergebnis = zahl1 + zahl2;
return ergebnis;
case "-":
ergebnis = zahl1 - zahl2;
return ergebnis;
case "/":
ergebnis = zahl1 / zahl2;
return ergebnis;
case "*":
ergebnis = zahl1 * zahl2;
return ergebnis;
}
return ergebnis;
}

public static double ausgabe() {

zahl1 = Listen.numbersDouble.get(0);

for (int i = 1; i <= Listen.numbersDouble.size(); i++)

{
op = Listen.operators.get(i - 1);

if(op.equals("="))
{
return zahl1;
}
zahl2 = Listen.numbersDouble.get(i);
zahl1 = Rechnung.rechnen(op, zahl1, zahl2);


}
return -80085;
}

}

public class Writer {

public static void write(String string, String op) {
final String FILENAME = "C:\\Users\\nowackan\\eclipse-workspace\\Test.txt"; {


BufferedWriter bw = null;
FileWriter fw = null;

try {

fw = new FileWriter(FILENAME);
bw = new BufferedWriter(fw);
PrintWriter out = new PrintWriter(bw);
out.println(String.valueOf(string));
out.println(op);


System.out.println("Done");

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (bw != null)
bw.close();

if (fw != null)
fw.close();

} catch (IOException ex) {

ex.printStackTrace();

}

}

}

}

请注意,我只有几周的编程经验,并且不知道任何编程约定。

最佳答案

要将内容附加到现有文件,请通过将第二个参数传递为 true 以附加模式打开文件编写器。

 fw = new FileWriter(FILENAME,true);
bw = new BufferedWriter(fw);
PrintWriter out = new PrintWriter(bw);
out.println(String.valueOf(string));
out.println(op);

关于Java 将输入追加到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com