Chciałem napisać program który miał wykonywać następujące czynności:
Wyświetlać nazwy trzech przedmiotów:
1.Matematyka
2.Polski
3.Angielski
Następnie po wyborze 2 i 3 podawać oceny.
TO WSZYSTKO DZIAŁA DOBRZE
Jednak przy wyborze 1 czyli Matematyki program miał wyświetlić tekst:
"Jeżeli chcesz dodać oceny wpisz 1, a jeżeli chcesz je wyświetlić wpisz 2"
Następnie po wyborze jedynki po podaniu przez nas cyfry miał ją dopisywać do ocen z Matematyki a po wyborze 2-ki wypisywać oceny z Matematyki. Jednak tu pojawia się następujący błąd:
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 jppp.main(jppp.java:32)
OTO MÓJ PROGRAM:
import java.util.ArrayList;
import java.util.Scanner;
class jppp {
public static void main(String[] args) {
ArrayList<Integer> matematyka = new ArrayList<Integer>();
ArrayList<Integer> polski = new ArrayList<Integer>();
ArrayList<Integer> angielski = new ArrayList<Integer>();
System.out.println("Oto twój mały dzienniczek ucznia");
System.out.println("Wybierz przedmiot aby sprawdzić lub dodać oceny");
System.out.println("1.Matematyka");
System.out.println("2.Polski");
System.out.println("3.Angielski");
matematyka.add(4);
polski.add(3);
angielski.add(1);
int cyfra;
int cyferka;
int rozmiar;
int ocena;
int ocenka;
int o;
Scanner odczyt = new Scanner(System.in);
cyfra = odczyt.nextInt();
odczyt.close();
if (cyfra == 1) {
System.out.println("Jeżeli chcesz dodać oceny wpisz 1, a jeżeli chcesz je wyświetlić wpisz 2");
Scanner odczyt1 = new Scanner(System.in);
cyferka = odczyt1.nextInt();
odczyt1.close();
if (cyferka == 1) {
System.out.println("Podaj ocenę którą chcesz dodać do dzienniczka");
Scanner odczyt2 = new Scanner(System.in);
ocenka = odczyt2.nextInt();
odczyt2.close();
o = ocenka;
matematyka.add(o);
}
if (cyferka == 2) {
rozmiar = matematyka.size();
for (int p = 0; p < rozmiar; p++) {
ocena = matematyka.get(p);
System.out.print(ocena + ",");
}
}
}
if (cyfra == 2) {
System.out.println("Jeżeli chcesz dodać oceny wpisz 1, a jeżeli chcesz je wyświetlić wpisz 2");
rozmiar = polski.size();
for (int p = 0; p < rozmiar; p++) {
ocena = polski.get(p);
System.out.print(ocena + ",");
}
}
if (cyfra == 3) {
System.out.println("Jeżeli chcesz dodać oceny wpisz 1, a jeżeli chcesz je wyświetlić wpisz 2");
rozmiar = angielski.size();
for (int p = 0; p < rozmiar; p++) {
ocena = angielski.get(p);
System.out.print(ocena + ",");
}
}
}
}