제가 arraylist에 값을 입력 할 때이 값이 이미 추가되어 있는지 확인해야하고, 그렇다면 이름의 라인을 따라 메시지를 표시하고 싶습니다. 이미 arherylist에 값이 있음을 확인하십시오.
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;
}
}
}
이 방법을 통해 배열에 값을 추가하는 나의 방법이다 존재한다.이 경우에 따라
는'ArrayList'는'contains' 방법이있다 : 모두를위한 기본 구현을 제공
. 또한,'Set'이 당신이 시도하고있는 것을위한 더 나은 데이터 구조인지 확인하십시오. –