Witam, mam problem z funkcją do{}while(). Nie wiem czemu ten błąd mi tam wyskoczył mimo, ze kod wcześniej działał i był caly czas w komentarzu abym go nie ruszył. Błąd jaki wyskakuje to:
Podana osoba zostanie przypisana do indeksu nr: 0
Podaj imię oraz nazwisko:
dfsf
MENU
1- Dodaj osobę.
2- Usuń osobę.
3- Zmień osobę.
4- Wypisz tablicę na ekranie.
5- Zapisz osoby do pliku.
6- Wczytaj osoby z pliku.
7- Zakoncz program.
Wybierz nr dzialania:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Pierwsza_klasa.menu(Pierwsza_klasa.java:58)
at Pierwsza_klasa.main(Pierwsza_klasa.java:8)
tutaj kod programu
import java.util.Scanner;
public class Pierwsza_klasa {
public static void main(String[] args){
String baza[] = new String[15];
for(int i=0;i<14;i++){
baza[i]="";
}
menu(baza);
}
public static int wolne_miejsce(String[] baza){ //sprwadza ktory indeks nie ma przypisanej wartosci
int i=0;
int wolne=0;
for(i=0;i<10;){
if(baza[i]==("")){
wolne=i;
i+=10;
};
i++;
}
return wolne;
}
public static int dodaj_osobe(int wolne_miejsce, String[] baza){
System.out.println("Podana osoba zostanie przypisana do indeksu nr: "+wolne_miejsce);
System.out.println("\nPodaj imię oraz nazwisko:");
Scanner skantek = new Scanner(System.in);
baza[wolne_miejsce] = skantek.next();
skantek.close();
return 0;
}
public static void menu(String[] baza){
dodaj_osobe( wolne_miejsce(baza), baza);
int wybor=0;
do{
System.out.println("MENU"
+ "\n1- Dodaj osobę."
+ "\n2- Usuń osobę."
+ "\n7- Zakoncz program."
+ "\nWybierz nr dzialania: ");
Scanner odczyt = new Scanner(System.in);
wybor = odczyt.nextInt();
//wybor = 7;
switch(wybor){
case 1:{
//funkcja dodajaca osobę
// dodaj_osobe(wolne_miejsce(baza), baza);
// wolne_miejsce(baza);
// dodaj_osobe(miejsce, baza);
}
case 2:{
// usun osobe
}
};
}while(wybor!=7); ///////////// tutaj błąd
}
}
Męcze sie z tym ponad 1h szukając rozwiązania ale nic to nie zmienia ;/ Obstawiam, ze jest to związane z odczytem z klawiatury.