Java Baza Studentów

0

Baza Studentów

Napisać program realizujący bazę grupy studentów, z uwzględnieniem

  • możliwość dodania do 10 studentów - klasa studentów (wprowadzenie danych z klawiatury)
  • możliwość dodania do 10 ocen studenta (tablica 1-wymiarowa, wprowadzenie danych z klawiatury)
  • wyznaczenie średniej oceny dla każdego studenta (metody klasy Student) - wyznaczenie średniej oceny dla całej klasy
  • przeglądanie listy studentów i wyświetlanie wszystkich informacji o studencie
  • menu tekstowe
  • zapis i odczyt danych z pliku
  • obsługa wyjątków (try - catch)

Mam problem z zrobieniem tego programu. Jak zrobić te menu oraz poprawic problem proszę o pomoc

package a;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.InputMismatchException;
import java.util.Scanner;
import java.io.IOException;

public class Osoba {

String imie;
String nazwisko;
int wiek;
double[] oceny;

void initOceny() {
    oceny = new double[10];
    for (int i = 0; i < 10; i++) {
        oceny[i] = 0;
    }
}

void wyswietlOceny() {
    System.out.print("Oceny: ");
    for (int i = 0; i < 10; i++) {
        System.out.print(oceny[i] + ", ");
    }
    System.out.print("\n");
}

public Osoba() {
    initOceny();
}

public Osoba(String imie, String nazwisko) {
    this.imie = imie;
    this.nazwisko = nazwisko;
    initOceny();
}

public Osoba(String imie, String nazwisko, int wiek) {
    this.imie = imie;
    this.nazwisko = nazwisko;
    this.wiek = wiek;
    initOceny();
}

void wyswietl() {
    System.out.println(imie + " " + nazwisko + ", lat: " + wiek);

}

void ustawImie(String noweImie) {
    imie = noweImie;
}

public static void main(String[] args) throws FileNotFoundException {
    Osoba student = new Osoba();
    student.imie = "Jaś";
    student.nazwisko = "Kowalski";

    Osoba[] klasa = new Osoba[3];
    klasa[0] = new Osoba("Jaś", "Kowalski", 22);
    klasa[1] = new Osoba("Krzyś", "Nowak", 23);
    klasa[2] = new Osoba("Jaś", "Jakiśtam", 21);

    for (int i = 0; i < klasa.length; i++) {
        klasa[i] = new Osoba("Jaś", "Kowalski", i);

        Scanner odczyt = new Scanner(System.in); // obiekt do odebrania
                                                    // danych od użytkownika

        String imie = null;
        String nazwisko = null;
        int liczba = 0;
        try {
            System.out.println("Podaj imie :"); // wyświetlamy napis
            imie = odczyt.nextLine();

            System.out.println("Podaj nazwisko :"); // wyświetlamy napis
            nazwisko = odczyt.nextLine();

            System.out.println("Podaj wiek :"); // wyświetlamy napis
            liczba = odczyt.nextInt();

            for (int x = 0; x <= 10; x++) {
                int ocena;
                System.out.println("Podaj Ocene :"); // wyświetlamy napis
                liczba = odczyt.nextInt();
            }
        } catch (InputMismatchException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        klasa[i].imie = imie;
        klasa[i].nazwisko = nazwisko;
        klasa[i].wiek = liczba;
    }

    // / Zapis do pliku
    try {
        PrintWriter zapis = new PrintWriter("plik33.txt");

        for (int i = 0; i < klasa.length; i++) {
            klasa[i].wyswietl();
            zapis.println(klasa[i].imie + " " + klasa[i].nazwisko + " "
                    + klasa[i].wiek);
        }
        zapis.close();
    } catch (InputMismatchException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    // odczyt z pliku //////////////////////////////////////////////////////

    try {
        File file = new File("plik33.txt");
        Scanner dane = new Scanner(file);
        String napis;

        int petla = klasa.length;
        // int petla = dane.nextInt();
        for (int i = 0; i < petla; i++) {
            napis = dane.nextLine();
            System.out.println(napis);
        }
    } catch (InputMismatchException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    // /////////////////////////////////////////////////////////////////////
    klasa[0].wyswietl();
    klasa[0].wyswietlOceny();
    klasa[1].wyswietl();
    klasa[1].wyswietlOceny();

    for (int i = 0; i < klasa.length; i++) {
        klasa[i].wyswietl();
        klasa[i].wyswietlOceny();
    }
}

}

0

Ojojoj, ten wyjątek FileNotFoundException to powinieneś jakoś obsłużyć i w razie braku pliku utworzyć nowy a nie wyrzucać wyjątek z aplikacji...

Najprościej menu zrobić to zrobić metodę, która wyświetla menu z odpowiednimi opcjami - cyframi i obsłużyć wybór poprzez switcha, który w zależności od wyboru skierować do metody, która np. wyświetla zachętę i pobiera dane studenta i kończąc swoje działanie wraca do menu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1