これは私のコードの一部です (後に BankAccount クラスがあります):
import java.util.Scanner; //This library is added
public class BankSystem_
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);//Scanner object to read input
BankAccount ba = null;
//Define variables
int task=0;
int accountNumber=0;
String accountName="unknown";
double balance=0;
double interestRate=.05;
do
{
System.out.println("1.\t Open new account");
System.out.println("2.\t Current Balance");
System.out.println("3.\t Deposit");
System.out.println("4.\t Withdrawal");
System.out.println("5.\t Change Interest Rate");
System.out.println("6.\t Bank Statement");
System.out.println("7.\t Exit");
System.out.println("Please create an account and choose a task: ");
task=keyboard.nextInt();
switch (task)
{
case 1:
System.out.print("What is the account name?: ");
accountName=keyboard.nextLine();
System.out.print("\nWhat is the account number?: ");
accountNumber=keyboard.nextInt();
System.out.print("\nAmount of money to start your account?: ");
balance=keyboard.nextDouble();
while (balance < 100)
{
System.out.println("The minimum amount to open a new account should be $100");
System.out.print("Amount of money to start your account?: ");
balance=keyboard.nextDouble();
}
BankAccount ba = new BankAccount(accountName,accountNumber,balance,interestRate);
System.out.print(ba.NewAccount());
break;
case 2:
if (ba != null)
{
System.out.print(ba.Balance());
}
break;
case 3:
if (ba != null)
{
System.out.print(ba.Deposit());
}
break;
case 4:
if (ba != null)
{
System.out.print(ba.Withdrawal());
}
break;
case 5:
if (ba != null)
{
System.out.print(ba.ChangeInterestRate());
}
break;
case 6:
if (ba != null)
{
System.out.print(ba.BankStatement());
}
break;
case 7:
System.exit(0);
break;
}
}while(task >=1 && task <=7);
}
}
*コードの目的は、タスク 1 を選択する前にタスク 2 から 6 を選択するユーザーに警告することです。したがって、続行するには BankAccount のオブジェクトが null でないかどうかを確認する必要があります。
私が含めるときはいつでも:
BankAccount ba = null;
後でコードに含めます。
BankAccount ba = new BankAccount(accountName,accountNumber,balance,interestRate);
オブジェクトを宣言するために、コンパイラは私にそれを教えてくれますvariable ba is already defined in method main(String[])
しかし、null を削除すると、コンパイラは次のように伝えます。
variable ba might not have been initialized
if (ba != null)
ここで何か問題がありますか?