Pętla for będzie się wykonywać tak długo jak podany warunek jest prawdziwy
W twoim przypadku i == kwota.length nigdy nie jest prawdziwy więc pętla nie wykonuje się nawet raz.
Poprawne rozwiązanie to
for (int i = 0; i < konta.length; i++)
Nie zmienia to jednak faktu, że kod jest kompletnie źle napisany. Ta tablica Stringów ma reprezentować jakieś konto bankowe rozumiem? Serio tablica? Nie pomyślałeś o tym by zrobić nowy obiekt np. BankAccount (polskie nazewnictwo klas/metod razi w oczy) i w nim zdefiniować pola jak AccountNumber, PinNumber, CashAmount, itp?
#edit
widzę że kolega wyżej mnie uprzedził, w każdym razie radzę zastanowić się nad tym co napisałem później
@Emdzej93 Dzięki za uwagi. Rzecz w tym, że Javy uczę się dopiero drugi tydzień i obiektowość jest jeszcze dla mnie delikatnie trudna. W tym zadaniu skupiłem się raczej na zrozumieniu jak używać klas i obiektów, a nie na pięknym i efektywnym kodzie. O ile dobrze zrozumiałem, gdybym tworzył obiekty BankAccount, to musiałby być osobny obiekt dla każdego kąta?
Jeżeli chcesz zrozumieć jak używać klasy i obiekty to zdecydowanie radziłbym spróbować podejścia które Ci zaproponowałem.
I tak, dobrze zrozumiałeś, musiałbyś robić osobny obiekt dla każdego konta.
Przykładowo miałbyś taką klasę, możesz ją bez problemu rozbudować o kolejne pole np. balance typu double czy accountNumber typu int.
public class Account {
private String pin;
public Account(String pin){
this.pin = pin;
}
public String getPin() {
return pin;
}
}
I zamiast tworzyć tablicę stringów robisz coś takiego
class DataBase {
//tworzysz tablicę przechowującą obiekty klasy Account i na wejściu wrzucasz do tej tablicy 2 nowe obiekty Account o pinie 123 i 321
private Account[] accounts = {new Account("123"), new Account("321")};
//zwykła pętla for
public boolean checkIfExistsv1(String pin){
for(int i = 0 ; i < accounts.length; i++){
if(accounts[i].getPin().equals(pin)){
return true;
}
}
return false;
}
//pętla for-each
public boolean checkIfExistsv2(String pin){
for(Account account : accounts){
if(account.getPin().equals(pin)){
return true;
}
}
return false;
}
}
Nie potrzebujesz żadnej zmiennej "istnieje", metoda checkIfExists przeiteruje po wszystkich kontach w tablicy i jeżeli znajdzie pasujący pin to zakończy działanie i zwróci true, jeżeli nie znajdzie - po prostu wyjdzie z pętli i zakończy działanie z wynikiem false.