Podejście obiektowe. Tablice (1) obiektów

Podobne dokumenty
Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Języki i metody programowania Java INF302W Wykład 2 (część 1)

StringTokenizer bon = new StringTokenizer(bufor.readLine());

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

Comparable<Klasa_uzytkownika>

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

{ Dane1 d=(dane1)o; return nazwisko.equals(d.nazwisko) && srednia==d.srednia && uwagi.equals(d.uwagi); }

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

DOSTĘP DO METOD I ZMIENNYCH, TABLICE. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla kaŝdego, Helion 2001)

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

PODSTAWOWE ELEMENTY JĘZYKA JAVA INSTRUKCJE 1. Pętle

Języki i metody programowania Java. Wykład 2 (część 2)

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

DOSTĘP DO METOD I ZMIENNYCH. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla każdego, Helion 2001)

Programowanie obiektowe

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Języki i metody programowania Java Lab2 podejście obiektowe

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Programowanie w Internecie. Java

Programowanie obiektowe

Podstawy programowania obiektowego

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Tworzenie aplikacji w języku Java

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Wykład 4: Klasy i Metody

Wykład 7: Pakiety i Interfejsy

Programowanie obiektowe

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza

Wykład 2: Podstawy Języka

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Metody Metody, parametry, zwracanie wartości

Programowanie obiektowe

Tablice i łańcuchy znakowe jako obiektowe typy danych. dr Jarosław Skaruz

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Klasy i obiekty cz II

Programowanie, algorytmy i struktury danych

Język JAVA podstawy. Wykład 4, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Dokumentacja do API Javy.

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

11.6 Klasa do obsługi liczb wymiernych

Definiowanie własnych klas

Diagram stanów Laboratorium 9

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Aplikacja wielowątkowa prosty komunikator

Programowanie obiektowe i zdarzeniowe

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Java: interfejsy i klasy wewnętrzne

Platformy Programistyczne Podstawy języka Java

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Podstawy Języka Java

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Wykład 5: Więcej o Klasach i Metodach

Aplikacja wielow tkowa prosty komunikator

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Szablony klas, zastosowanie szablonów w programach

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Podstawy i języki programowania

Laboratorium 8 Diagramy aktywności

Programowanie w Javie - wykład 3

Programowanie obiektowe

Programowanie obiektowe

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Wprowadzenie do języka Java

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Programowanie obiektowe

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Algorytmy z powrotami. Algorytm minimax

Podstawy i języki programowania

JAVA- wykład 3 Wprowadzanie danych Typ wyliczeniowy Tablice

Zaawansowane aplikacje WWW - laboratorium

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

Microsoft IT Academy kurs programowania

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Kolekcje - pakiet Java Collections Framework

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

1 Atrybuty i metody klasowe

Przypomnienie o klasach i obiektach

Aplikacje w środowisku Java

Wykład 8: Obsługa Wyjątków

Aplikacje w Javie- wykład 11 Wątki-podstawy

Transkrypt:

1. Tablice Tablica w Javie jest obiektem. Podejście obiektowe. Tablice (1) obiektów Deklarowanie tablicy String [] nazwy; //równowaŝne deklaracje zmiennej tablicowej String nazwy []; int liczby[]; //zamienna tablicowa deklarująca elementy nieobiektowe // czyli referencji do obiektu tablicy, deklarujące elementy obiektowe Tworzenie obiektu tablicowego int liczby []= new int [10]; // utworzono tablicę 10 elementów typu int String nazwy []= new String[10]; // utworzono tablicę 10 referencji typu String, naleŝy dla kaŝdego elementu tablicy przydzielić pamięć Przydział pamięci na elementy obiektowe tablicy np. nazwy[0]= new String( Pewien wiersz ); //przydzielono pamięć na obiekt typu String w pierwszym elemencie tablicy (liczby[0]) Pobranie rozmiaru tablicy nazwy.length Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 1

Przykład 1 import java.lang.*; public class Tablice public static void main(string args[]) final int N=5; int liczby [] = new int [N]; for (int i=0; i<liczby.length; i++) liczby[i]= i; System.out.println(liczby[i]); String nazwy[]=new String[N]; for (int i=0; i<nazwy.length; i++) nazwy[i]=new String("lancuch "+i); System.out.println(nazwy[i]); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 2

2.1. Definicja elementu tablicy Przykład 2 import javax.swing.*; import java.util.*; class Osoba1 String nazwisko; float srednia; String uwagi; static int ile_obiektow = 0; public void Inicjuj() ile_obiektow++; public void Nadaj_nazwisko(String lan) nazwisko=lan; public String Podaj_nazwisko() return nazwisko; Autor: Zofia Kruczkiewicz 3

public void Nadaj_uwagi(String lan) uwagi=lan; public String Podaj_uwagi() return uwagi; public void Nadaj_srednia(float srednia_) srednia=srednia_; public float Podaj_srednia() return srednia; public void Wstaw() String S; Inicjuj(); S = JOptionPane.showInputDialog(null, "Podaj nazwisko"); Nadaj_nazwisko(S); S = JOptionPane.showInputDialog(null, "Podaj srednia"); Nadaj_srednia(Float.parseFloat(S)); S =JOptionPane.showInputDialog(null, "Podaj uwagi"); Nadaj_uwagi(S); Autor: Zofia Kruczkiewicz 4

public void Wyswietl() String napis=""; napis+="\n Nazwisko: "+nazwisko; napis+="\n Średnia: "+srednia; napis+="\n Uwagi: "+uwagi; napis+="\n Liczba osób jest równa "+ile_obiektow; JOptionPane.showMessageDialog(null, napis); public class Cala static public void main(string args[]) Osoba1 os1 = new Osoba1(); os1.wstaw(); os1.wyswietl(); System.exit(0); Autor: Zofia Kruczkiewicz 5

2.2. Tablica obiektów operacje wstawiania i wyświetlania Przykład 3 import javax.swing.*; import java.util.*; class Osoba1 // kod klasy Osoba1 z przykładu 2 zawarty w nawiasach public class Tablica_osob static int N=2; static public void main(string args[]) Osoba1 Dane[] = new Osoba1[N]; int ile; for (ile=0; ile<dane.length;ile++) Dane[ile]=new Osoba1(); Dane[ile].Wstaw(); for (int i=0; i<ile;i++) Dane[i].Wyswietl(); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 6

Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 7

2.3. Tablica obiektów operacje wstawiania, wyświetlania i wyszukiwania Przykład 4 import javax.swing.*; import java.util.*; class Osoba1 // kod klasyosoba1 z przykładu 2 zawarty w nawiasach public boolean Szukaj(String s) return nazwisko.equals(s); public class Tablica_osob_porownanie static int N=2; static public void main(string args[]) Osoba1 Dane[] = new Osoba1[N]; int ile; for (ile=0; ile<dane.length;ile++) Dane[ile]=new Osoba1(); Dane[ile].Wstaw(); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 8

for (int i=0; i<ile;i++) Dane[i].Wyswietl(); String s= JOptionPane.showInputDialog(null,"Podaj nazwisko"); for (int i=0; i<ile;i++) if (Dane[i].Szukaj(s)) Dane[i].Wyswietl(); System.exit(0); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 9

2.4. Tablica obiektów wybór wstawiania, wyświetlania i wyszukiwania Przykład 5 class Osoba1 // kod klasy Osoba1 z przykładu 4 zawarty w nawiasach public class Tablica_osob_menu static int N=2; static public void main(string args[]) Osoba1 Dane[] = new Osoba1[N]; int ile=0; String s; char ch; do s=joptionpane.showinputdialog(null, "Podaj wybor" +"\n1 - Podaj dane kolejnej osoby," +"\n2 - Wyswietl dane osob" +"\n3 - Wyszukaj osobe i wyswietl jej dane" +"\nk - Koniec programu"); ch = s.charat(0); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 10

switch(ch) case '1' : for (ile=0; ile<dane.length;ile++) Dane[ile]=new Osoba1(); Dane[ile].Wstaw(); break; case '2' : for (int i=0; i<ile;i++) Dane[i].Wyswietl(); break; case '3' : s = JOptionPane.showInputDialog(null,"Podaj nazwisko"); for (int i=0; i<ile;i++) if (Dane[i].Szukaj(s)) Dane[i].Wyswietl(); break; case 'k' : JOptionPane.showMessageDialog(null, "Koniec programu"); break; default : JOptionPane.showMessageDialog(null,"Zla opcja"); while (ch!= 'k') ; System.exit(0); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 11

2.5. Tablica obiektów wybór wstawiania, wyświetlania i wyszukiwania, zmiany rozmiarów tablicy Przykład 6 package baza0; import javax.swing.*; import java.util.*; class Osoba String nazwisko; float srednia; String uwagi; public void Nadaj_nazwisko(String lan) nazwisko = lan; public String Podaj_nazwisko() return nazwisko; public void Nadaj_uwagi(String lan) uwagi=lan; public String Podaj_uwagi() return uwagi; public void Nadaj_srednia(float srednia_) srednia=srednia_; public float Podaj_srednia() return srednia; public String tostring() String napis = ""; napis += "Nazwisko: "+nazwisko; napis += " srednia: "+srednia; napis += " uwagi: "+uwagi; return napis; public boolean Szukaj(String s) return nazwisko.equals(s); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 12

class Tablica Osoba Dane[]=null; int ile=0; public boolean Pusta() return ile==0; public boolean Pelna() return ile==dane.length; public int Podaj_ile() return ile; public void Wykonaj_tablice(int N) ile=0; Dane=new Osoba[N]; //utworzenie tablicy public void Wstaw (String nazwisko_, float srednia, String uwagi_) Osoba dana = new Osoba(); dana.nadaj_nazwisko(nazwisko_); dana.nadaj_srednia(srednia); dana.nadaj_uwagi(uwagi_); Dane[ile]=dana; ile++; public Osoba Wyszukaj(String s) for (int i=0; i<ile;i++) if (Dane[i].Szukaj(s)) return Dane[i]; return null; Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 13

public String tostring() String s=""; for (int i=0; i<ile; i++) s+=dane[i].tostring()+"\n"; return s; Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 14

Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 15

Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 16

public class Baza0 protected Tablica tablica=new Tablica(); public void Wypelnij() String S; S = JOptionPane.showInputDialog(null, "Podaj rozmiar tablicy"); int N = Integer.parseInt(S); tablica.wykonaj_tablice(n); //utworzenie tablicy String S1,S2,S3; while(!tablica.pelna() ) //jeśli tablica jes zapełniona, tak jest równe false S1 = JOptionPane.showInputDialog(null, "Podaj nazwisko"); S2 = JOptionPane.showInputDialog(null, "Podaj srednia"); S3 = JOptionPane.showInputDialog(null, "Podaj uwagi"); tablica.wstaw(s1, Float.parseFloat(S2), S3); //dopisanie danych na końcu danych public void Wyswietl() if (tablica.pusta()) //jesli tablica istnieje, to mozna wyswietlac JOptionPane.showMessageDialog(null, "Brak danych"); else JOptionPane.showMessageDialog(null, tablica.tostring()); public void Wyszukaj() if (tablica.pusta()) JOptionPane.showMessageDialog(null, "Brak danych"); else //jesli tablica istnieje, to mozna wyswietlac String S = JOptionPane.showInputDialog(null,"Podaj nazwisko"); Object osoba=tablica.wyszukaj(s); if ( osoba!= null ) JOptionPane.showMessageDialog(null, osoba.tostring()); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 17

static public void main(string args[]) Baza0 baza1=new Baza0(); //referencja do tablicy, ktora jest tworzona w opcji 1 char ch; String s; do s=joptionpane.showinputdialog(null, "Progam nie jest zabezpieczony przed\n" + "złym formatem danych\n i naciskaniem Cancel w okienkach dialogowych\n"+ "Podaj wybor" +"\n1 - Wypelnij tablice," +"\n2 - Wyswietl dane osob" +"\n3 - Wyszukaj osobe i wyswietl jej dane" +"\nk - Koniec programu"); ch = s.charat(0); //pobranie opcji switch(ch) case '1' : baza1.wypelnij(); break; case '2' : baza1.wyswietl(); break; case '3' : baza1.wyszukaj(); break; case 'k' : JOptionPane.showMessageDialog(null, "Koniec programu"); break; default : JOptionPane.showMessageDialog(null, "Zla opcja"); while (ch!= 'k') ; System.exit(0); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, Wykład 4_1 18