Запись в файл Java
Проблема в том, что когда я пытаюсь записать полученное значение поля, выводится 0 вместо нужного.
Выводит - 0.0
Должно (Сумма может меняться) - 7500.0
Так как у меня есть метод getBalanc который работает
protected void checkBalanc() { // Проверка баланса
System.out.println("\n" + "Hei " + getNAME_CARD()
+ " " + getSURNAME_CARD() + " your balanc = "
+ getBalanc() + "EUR");
Check.printCheckBalanc();
}
Но когда я пытаюсь записать это в файл, всё выходит кроме getBalanc.
try (PrintWriter pw = new PrintWriter(check)) { // check имя файла для записи
pw.println("Check #1 - " + functional.getNAME_CARD() + " "
+ functional.getSURNAME_CARD());
pw.println(functional.getBalanc());
pw.println(sdf.format(date));
} catch (IOException e) {
e.printStackTrace();
}
Выводит данное сообщение в текст
Check #1 - Anton Voloxin
0.0
20-01-2023
Доказательство, что работает Balanc = 7500.0EUR вывод в консоль
System.out.println("\n" + "Balanc = " + getBalanc() + "EUR");
Ответы (1 шт):
Автор решения: HardTaker
→ Ссылка
Скорее всего проблема в том, что ваша переменная balanc закреплена не за классом Functional, а за объектом.
private double balanc; // значение по умолчанию 0
И при каждом создании нового объекта класса Functional создаётся новая переменная balanc. Вам стоит закрепить переменную за классом, иначе говоря сделать её статичной.
private static double balanc; // значение по умолчанию 0
Исправьте если не прав