VasilM

AWTHomework1_arraylist

Apr 10th, 2013
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.83 KB | None | 0 0
  1. package awtHomework1;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4.  
  5. // Разширете горния пример като допълните класа Student с полета,
  6. // съдържащи факултетния номер, специалността и средния успех на студента.
  7. class Student {
  8.     private String name, fn, module;
  9.     private double grade;
  10.    
  11.     public Student( String name, String fn, String module, double grade ) {
  12.         this.name = name;
  13.         this.fn = fn;
  14.         this.module = module;
  15.         this.grade = grade;
  16.     }
  17.     public String getName() { return name; }
  18.     public String getFn() { return fn; }
  19.     public String getModule() { return module; }
  20.     public Double getGrade() { return grade; }
  21.     public String toString() {
  22.         return "---- Student info ----\nName: "+ name +"\t\tFN: "+ fn
  23.                 +"\nModule: "+ module +"\t\tGrade: "+ grade +"\n---- end of info ----\n";      
  24.     }
  25. }
  26.  
  27. class Course {
  28.     private ArrayList<Student> studentList = new ArrayList<Student>(10);
  29.     private ArrayList<Student> avgGradeAbove4 = new ArrayList<Student>(10);
  30.     private ArrayList<Student> avgGradeBelow4 = new ArrayList<Student>(10);
  31.     private Student aStudent;
  32.    
  33.     public void addStudent( String name, String fn, String module, double grade ) {
  34.         studentList.add(new Student(name, fn, module, grade));
  35.     }
  36.     public Student getStudent( int index ){
  37.         aStudent = studentList.get( index );
  38.         return aStudent;
  39.     }
  40. //   В класа Course включете метод, който връща данните за студент по
  41. //   задададен факултетен номер (или null, ако не е намерен студент с
  42. //   такъв факултетен номер).  
  43.     public Student getStudnetByFn( String fn ) {
  44.         for( int i=0; i<studentList.size(); i++ ) {
  45.             aStudent = studentList.get( i );
  46.             if( aStudent.getFn().equals( fn )) return aStudent;
  47.         }
  48.         return null;
  49.     }
  50. //  От списъка на студентите studentList създайте два нови списъка –
  51. //  на студенти със среден успех над зададена граница (примерно 4,00)
  52. //  и на студенти със среден успех под тази граница. Изключете от
  53. //  studentList студентите от втория списък.
  54.     public int allGradeAbove4() {
  55.         int newSize = 0;
  56.         for( int i=0; i<studentList.size(); i++ ) {
  57.             aStudent = studentList.get( i );
  58.             if( aStudent.getGrade() >= 4 ) {
  59.                 avgGradeAbove4.add( aStudent );
  60.                 newSize++;
  61.             }
  62.             else avgGradeBelow4.add( aStudent );
  63.         }
  64.         studentList.removeAll( avgGradeBelow4 );
  65.         return newSize;
  66.     }
  67. }
  68.  
  69. //  В метода main() на класа TestCourse oрганизирайте цикъл за въвеждане
  70. //  на група от студенти (до 10), записани в курса CSCB302. Данните за
  71. //  студентите да се въведат по подходящ начин от стандартния вход.   
  72. public class AWTHomework1 {
  73.     public static void main(String[] args) {
  74.         Course cscb302 = new Course();
  75.         Scanner input = new Scanner( System.in );  
  76.         String name, fn, module;
  77.         double grade;
  78.        
  79.         for( int i=0; i<10; i++ ) {
  80.         System.out.print("Enter student"+i+" name: ");
  81.         name = input.next();
  82.         System.out.print("Enter his school number: ");
  83.         fn = input.next();
  84.         System.out.print("Enter module: ");
  85.         module = input.next();
  86.         System.out.print("Enter grade point average: ");
  87.         grade = input.nextDouble();        
  88.         cscb302.addStudent( name, fn, module, grade);  
  89.         }
  90.        
  91.         for( int i=0; i<cscb302.allGradeAbove4(); i++ ) {
  92.             System.out.println( cscb302.getStudent( i ));
  93.         }
  94.        
  95.         System.out.println( "Now search for a student by his f. number: ");
  96.         fn = input.next();
  97.         System.out.println( cscb302.getStudnetByFn( fn ) );
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment