配列リストに値を入力するときに、この値が既に追加されているかどうかを確認する必要がある問題を解決しようとしています。その場合、名前の行に沿ってメッセージを表示したい既に存在します
import java.util.*;
class Bank{
void command(){
CommandReader commandReader=new CommandReader(this);
commandReader.run();
}
ArrayList <Account> accounts=new ArrayList <Account>();
public static void main(String[] args){
new Bank().command();
}
void print(String name){
System.out.println("Account of "+name);
int b=0;
for(int i=0; i<accounts.size(); i++){
b=accounts.get(i).balance(name);
break;
}
System.out.println("Balance: "+b);//dit moet naar account verwjizen op een of andere manier zodat hij weet waar hij balance() moet zoeken
}
void printAll(){
/*
for(int i =0; i<accounts.size()-1;i++){
print(accounts[i].name);//klopt niet, weet niet wat er wel moet staan
}*/
}
void enroll(String name){
Account account=new Account(name,0);
accounts.add(account);
}
void deposit(String name, int amount){
for(int i=0; i<accounts.size(); i++){
accounts.get(i).deposit(amount, name);
}
}
void withdraw(String name, int amount){//hiervoor moet je denk ik een methode in account maken zodat e met balance kan rekenen?
for(int i=0; i<accounts.size(); i++){
int x;
x=accounts.get(i).balance(name);
if (x>-1000){
amount = amount*-1;
accounts.get(i).deposit(amount, name);
}
}
}
void printRed(){
}
void interest(double rate){
for(int i=0; i<accounts.size(); i++){
accounts.get(i).inter(rate);
}
}
}
class Account{
String name;
int balance;
void inter(double rate){
balance+=rate
/100*balance;
}
Account(String n, int b){//weet niet of dit nodig is, denk het wel
this.name=n;
this.balance=b;
}
String name(){
return this.name;
}
int balance(String name){
if(name.equals(this.name)){
return this.balance;
}
return 0;
}
void deposit(int b, String name){
if(name.equals(this.name)){
this.balance+=b;
}
}
}
メソッドを介して配列に値を追加する私の方法です(ゼロは無視できます)