Tworzenie dziennika z wydarzeniami dodanymi przez użytkownika - JAVA
Klasa diary.java posiada funkcję wyszukiwania, usuwania, aktualizacji oraz sortowania wydarzeń.
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
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno