Loading:


Tworzenie dziennika z wydarzeniami dodanymi przez użytkownika - JAVA

Klasa diary.java posiada funkcję wyszukiwania, usuwania, aktualizacji oraz sortowania wydarzeń.



Dalsza czê¶æ: 1 2 3 4

Napisz Artyku³

Listing


import java.util.*;
import java.io.*;
/**
 * @author Funkcje.net
 * @version 22-11-2007
 */

public class Diary
{
    //lista używanych zmiennych
    private List <Appointment> appointments;
    Scanner in = new Scanner(System.in);
    private int nextFreeLocation;
    private Appointment appointment;
    private int day2;
    private int month2;
    private int year2;
    private int todayDate;
   
    public Diary()
    {
        //todayDate będize wyglądało w formacie: 20071206
        todayDate = day2+100*month2+10000*year2;
        appointments = new ArrayList<Appointment>();
    }
   
    public Diary(int tD)
    {
        //ustawiamy znowu date
        todayDate = day2+100*month2+10000*year2;
    }
   
    //dodajemy wydarzenia po wczytaniu ich z pliku
    public void addAppointment(Appointment theAppointment)
    {
        appointments.add(theAppointment);
        nextFreeLocation = nextFreeLocation + 1;
    }
   
    public void today() {
        System.out.println("Diary updated for date: "+day2+"/"+month2+"/"+year2);
    }
   
    //ustawianie dzisiejszej daty
    public void today2()
    {
        System.out.println("Enter todays day: (dd)");
        day2 = in.nextInt();
        System.out.println("Enter todays month: (mm)");
        month2 = in.nextInt();
        System.out.println("Enter todays year: (yyyy)");
        year2 = in.nextInt();
    }
   
    public void clear()
    {
        appointments.clear();
    }
   
    public void sort()
    {
        Appointment temporary;
        boolean changed;
        int size=appointments.size();
        for(int j=0;j<size;j++)
        {
            changed=false;
            //for every i less than to this
            for(int i=0; i<size-1;i++)
            {
                //sortowanie
                if ((appointments.get(i)).getTime()>(appointments.get(i+1)).getTime())
                {
                    temporary =(appointments.get(i+1));
                    appointments.set(i+1,appointments.get(i));
                    appointments.set(i,temporary);
                }
             
                if ((appointments.get(i)).getDate()>(appointments.get(i+1)).getDate())
                    {
                    temporary =(appointments.get(i+1));
                    appointments.set(i+1,appointments.get(i));
                    appointments.set(i,temporary);
                    changed=true;
                }
                }
                if (!changed)
                {
                    break;
                }
            }
    }

    //wyświetlanie wszystkich zdarzeń
    public void printOut() {
        String results = " \n";
        for (Appointment a:appointments)
        {
            a.print2();
            sort();
        }
    }
   //usuwanie
   public void remove2()
    {  
        Appointment appToRem=new Appointment();
        boolean flag=false;
        System.out.print("With which subject appointment do you want to remove? ");
        Scanner in=new Scanner(System.in);
        String s=in.next();
        appToRem.setSubject(s);

        for (int i=0;i<appointments.size();i++){
            if (appointments.get(i).equals(appToRem)){
            appointments.remove(i); i--;
            flag=true;
            System.out.println("Appointments removed");
        }
    }
        if(flag==false)
        System.out.println("There is no appointments on this day");
       
    }
   
     public void findDate() {
     Appointment oneToFind = new Appointment();
     System.out.println("On which date do you looking for appointments? (yyyymmdd) Without '/' !!");
     int d = in.nextInt();

     oneToFind.setDate(d);

     for (Appointment a:appointments)
     {
         if (a.getDate()==d)
         {
             a.print2();
            }
        }

}
    //aktualizacja
     public void update() {
     Appointment updateOne = new Appointment();
     boolean flag=false;
     todayDate = day2+100*month2+10000*year2;
     updateOne.setDate(todayDate);
     for (int i=0;i<appointments.size();i++){
            if ((appointments.get(i)).getDate()<todayDate){
            appointments.remove(appointments.get(i)); i--;
            flag=true;
            System.out.println("Diary UpDated");
        }
    }
    if(flag==false)
    System.out.println("Diary updated");
}
   
    public String toString() {
        String results = " \n";
        for (Appointment a:appointments)
        {
            results = results + a.toString() + "\n";
        }
        return results;
    }
   
    public int size()
    {
        //zwraca liczbę wydarzeń
        return appointments.size();
    }
   


}





Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors