#java
#java
Вопрос:
Я пробовал input = nextLine() и добавлял входные данные к строковым данным, но все равно возвращал null. В чем может быть возможная проблема здесь?
[МЕТОД ВЫВОДА]
public void Withdraw(){
System.out.print("Enter withdrawal amount:" );
double withdraw = input.nextDouble();
System.out.println("Your withdrawal amount: " withdraw);
if(this.balance - withdraw < 100){
System.out.println("The maintaining balance should not be less than 100. " );
}else
this.balance -= withdraw;
System.out.println("Your new balance is:" this.balance);
}
[ДОБАВИТЬ В ФАЙЛ]
public void withdrawWriter(){
try{
String data = "Your withdrawal amount: " withdraw;
File file = new File(this.name ".txt");
//if file doesnt exists, then create it
if(!file.exists()){
file.createNewFile();
}
//true = append file
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write("rn");
bufferWritter.write(data);
bufferWritter.close();
System.out.println("Done");
}catch(IOException e){
e.printStackTrace();
}
}
Вот скриншот:
Ответ №1:
Из снимка экрана ясно, что у вас есть как локальная переменная double withdraw
, так и поле в классе double withdraw
.
Может сработать, если вы избавитесь от локального, так что просто:
withdraw = input.nextDouble();
Ответ №2:
Вы принимаете входные данные внутри локальной переменной withdraw и пытаетесь использовать переменную экземпляра внутри вашего метода withdrawWriter . Попробуйте использовать вывод переменной экземпляра при приеме ввода, подобного этому:
public void Withdraw(){
System.out.print("Enter withdrawal amount:" );
**withdraw = input.nextDouble();**
System.out.println("Your withdrawal amount: " withdraw);
if(this.balance - withdraw < 100){
System.out.println("The maintaining balance should not be less than 100. " );
}else
this.balance -= withdraw;
System.out.println("Your new balance is:" this.balance);
}