Java 绕过初始化变量
我只是在玩弄Java代码,看看我能做什么,不能做什么。我遇到了一个我创建的字符串变量的问题,它说它可能没有初始化。我知道问题是什么,为什么它可能没有被初始化,但我不知道如何修复它,我尝试过将代码放在不同的位置,创建或删除字符串,但没有任何效果。这一切都导致了同样的问题。 方法代码:Java 绕过初始化变量,java,initialization,Java,Initialization,我只是在玩弄Java代码,看看我能做什么,不能做什么。我遇到了一个我创建的字符串变量的问题,它说它可能没有初始化。我知道问题是什么,为什么它可能没有被初始化,但我不知道如何修复它,我尝试过将代码放在不同的位置,创建或删除字符串,但没有任何效果。这一切都导致了同样的问题。 方法代码: public class BankAccount { private int balance; private String name; public BankAccount(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?您可以在声明时对其进行初始化:
String dw=”“代码>