0
我只是搞亂Java代碼,看看我能做什麼,不能做什麼。我遇到了一個我創建的String變量的問題,它說它可能沒有被初始化。我知道問題是什麼,爲什麼它可能沒有被初始化,但我找不到如何解決它,我試着將代碼放在不同的位置,創建或刪除字符串,沒有任何工作。這一切都會導致同樣的問題。 方法的代碼:繞過初始化變量
public class BankAccount {
private int balance;
private String name;
public BankAccount(String n) {
n = name;
}
public void deposit(int dep) {
balance = balance + dep;
}
public void withdrawl(int wit) {
balance = balance - wit;
}
public int getBalance() {
return balance;
}
}
測試代碼:
import java.util.Scanner;
public class BankTester {
public static void main(String[] args) {
int i = 0;
int dep;
int wit;
int d;
String dw;
String alm;
Scanner input = new Scanner(System.in);
System.out.print("Name Of Bank Account: ");
String name = input.next();
BankAccount account = new BankAccount(name);
while(true) {
System.out.println("Open Account? (y/n): ");
String open = input.next();
if (open.equals("y")) {
System.out.print("\f");
System.out.println("Account Open!");
break;
} else if (open.equals("n")) {
System.exit(1);
} else {
System.out.print("\f");
i++;
System.out.println("Incorrect Syntax");
System.out.println("Attempts: " + i);
}
}
while(true) {
System.out.println();
System.out.println("Your balance is " + account.getBalance());
if (account.getBalance() == 0) {
System.out.print("\f");
System.out.println("It seems you don't have any money in your account..");
System.out.print("Would you like to deposit some? (y/n): ");
alm = input.next();
} else {
System.out.print("\f");
System.out.println("Would you like to do anything with your account " + name + "? (y/n)");
alm = input.next();
}
while (true) {
if (account.getBalance() > 0) {
if (alm.equals("y")) {
System.out.print("What would you like to do? (deposit/withdrawl): ");
dw = input.next();
break;
} else if (alm.equals("n")) {
System.exit(1);
} else {
System.out.print("\f");
System.out.println("Incorrect Syntax");
}
}
if (account.getBalance() == 0) {
if (alm.equals("y")) {
System.out.print("\f");
System.out.println("How much money would you like to deposit?");
System.out.print("Amount: ");
dep = input.nextInt();
account.deposit(dep);
break;
} else if (alm.equals("n")) {
System.exit(1);
} else {
System.out.print("\f");
System.out.println("Incorrect Syntax");
}
}
}
if (dw.equals("deposit")) {
System.out.print("\f");
System.out.println("How much money would you like to deposit?");
System.out.print("Amount: ");
dep = input.nextInt();
account.deposit(dep);
}
}
}
}
這是在那裏說底部:
if (dw.equals("deposit")) {
System.out.print("\f");
System.out.println("How much money would you like to deposit?");
System.out.print("Amount: ");
dep = input.nextInt();
account.deposit(dep);
}
「變量DW可能尚未初始化」 是我的錯誤。我怎麼能繞過這個if語句,所以它會忽略它,除非餘額大於0?