package com.java.model;
public class Student {
private String lastname;
private String name;
private int numberOfIndex;
private int dateOfBirth;
private double[] evaluations;
public Student(String lastname, String name, int numberOfIndex,
int dateOfBirth) {
super();
this.lastname = lastname;
this.name = name;
this.numberOfIndex = numberOfIndex;
this.dateOfBirth = dateOfBirth;
}
public Student(String lastname, String name, int numberOfIndex,
int dateOfBirth, double[] evaluations) {
super();
this.lastname = lastname;
this.name = name;
this.numberOfIndex = numberOfIndex;
this.dateOfBirth = dateOfBirth;
this.evaluations = evaluations;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumberOfIndex() {
return numberOfIndex;
}
public void setNumberOfIndex(int numberOfIndex) {
this.numberOfIndex = numberOfIndex;
}
public int getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(int dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public double[] getEvaluations() {
return evaluations;
}
public void setEvaluations(double[] evaluations) {
this.evaluations = evaluations;
}
public String toString(){
return lastname + " " + name + " " + numberOfIndex + " " + dateOfBirth;
}
public void printEvalutions(){
for(double e : evaluations){
System.out.print(e + " ");
}
}
public double myAvg(){
double sum = 0;
double avg = 0;
for(int i=0; i<evaluations.length; i++){
sum += evaluations[i];
}
avg = sum/evaluations.length;
return avg;
}
}
package com.java.repository;
import java.util.ArrayList;
import java.util.List;
import com.java.model.Student;
public class StudentRepository {
private List<Student> listOfStudents = new ArrayList<Student>();
// public StudentRepository(){};
// imitacja zamiast wczytywania z bazy/pliku
public StudentRepository() {
double[] tab1 = { 5, 4, 4, 4, 5 };
double[] tab2 = { 3, 2, 5, 2, 5 };
double[] tab3 = { 2, 2, 2, 2, 2 };
listOfStudents.add(new Student("Nowak", "Jan", 1112, 1992, tab1));
listOfStudents.add(new Student("Skoczek", "Dawid", 1113, 1993, tab2));
listOfStudents.add(new Student("Zucek", "Joanna", 1114, 1989, tab3));
}
public List<Student> getAllStudents() {
return listOfStudents;
}
public void addStudent(Student student) {
listOfStudents.add(student);
}
public Student getStudentByNumberOfIndex(int numberOfIndex) {
for (Student s : listOfStudents) {
if (s.getNumberOfIndex() == numberOfIndex) {
return s;
}
}
return null;
}
public void deleteStudent(int numberOfIndex) {
for (Student s : listOfStudents) {
if (s.getNumberOfIndex() == numberOfIndex) {
listOfStudents.remove(s);
}
}
}
}
package com.java.test;
import java.util.List;
import java.util.Scanner;
import com.java.model.Student;
import com.java.repository.StudentRepository;
public class Dziekanat {
public static void main(String[] args) {
int yourChoice;
do {
System.out.println();
System.out.println("1.Wyświetl wszystkich studentów.");
System.out.println("2. Dane konretnego studenta.");
System.out.println("3. Średnia mniejsza niż 3.5");
System.out.println("4. Studenci i ich średnia.");
System.out.print("Twój wybór: ");
Scanner sc = new Scanner(System.in);
yourChoice = sc.nextInt();
switch (yourChoice) {
case 0:{
System.out.println("KONIEC");
break;
}
case 1: {
StudentRepository sr = new StudentRepository();
List<Student> listOfStudents = sr.getAllStudents();
for (Student s : listOfStudents) {
System.out.print("\nStudent: " + s.toString() + " oceny: ");
s.printEvalutions();
}
break;
}
case 2: {
System.out.println("Podaj nr indeksu: ");
int numberOfIndex = sc.nextInt();
StudentRepository sr = new StudentRepository();
Student student = sr.getStudentByNumberOfIndex(numberOfIndex);
if (student != null) {
System.out.print(student.toString());
student.printEvalutions();
} else {
System.out.println("Nie ma takiego studenta.");
}
break;
}
case 3: {
StudentRepository sr = new StudentRepository();
List<Student> listOfStudents = sr.getAllStudents();
System.out.println("Osoby z średnią mniejszą niż 3.5 to: ");
for (Student s : listOfStudents) {
if (s.myAvg() < 3.5) {
System.out.print("\n" + s.toString());
}
}
break;
}
case 4: {
StudentRepository sr = new StudentRepository();
List<Student> listOfStudents = sr.getAllStudents();
for (Student s : listOfStudents) {
System.out.print("\nStudent: " + s.toString()
+ " średnia: " + s.myAvg());
}
break;
}
default:{
System.out.println("Nie ma takiej opcji.");
}
}
} while (yourChoice != 0);
}
}
Do ideału pewnie daleko, ale bardziej doświadczeni może podpowiedzą co poprawić.