Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_mszczonow_1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
alx_mszczonow_1
Commits
277bf1ce
Commit
277bf1ce
authored
Jun 27, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
enkapsulacja - zmiana tablicy na listę i wiek na date
parent
13139bd7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
14 deletions
+27
-14
Osoba.java
src/main/java/p11_enkapsulacja/Osoba.java
+19
-3
Student.java
src/main/java/p11_enkapsulacja/Student.java
+8
-11
No files found.
src/main/java/p11_enkapsulacja/Osoba.java
View file @
277bf1ce
package
p11_enkapsulacja
;
package
p11_enkapsulacja
;
import
java.time.LocalDate
;
import
java.time.Period
;
import
java.time.temporal.ChronoUnit
;
public
class
Osoba
{
public
class
Osoba
{
private
String
imie
,
nazwisko
;
private
String
imie
,
nazwisko
;
private
int
wiek
;
private
LocalDate
dataUrodzenia
;
public
Osoba
(
String
imie
,
String
nazwisko
,
LocalDate
dataUrodzenia
)
{
this
.
imie
=
imie
;
this
.
nazwisko
=
nazwisko
;
this
.
dataUrodzenia
=
dataUrodzenia
;
}
public
Osoba
(
String
imie
,
String
nazwisko
,
int
wiek
)
{
public
Osoba
(
String
imie
,
String
nazwisko
,
int
wiek
)
{
this
.
imie
=
imie
;
this
.
imie
=
imie
;
this
.
nazwisko
=
nazwisko
;
this
.
nazwisko
=
nazwisko
;
this
.
wiek
=
wiek
;
this
.
dataUrodzenia
=
LocalDate
.
now
().
minus
(
wiek
,
ChronoUnit
.
YEARS
)
;
}
}
public
String
toString
()
{
public
String
toString
()
{
...
@@ -22,7 +32,13 @@ public class Osoba {
...
@@ -22,7 +32,13 @@ public class Osoba {
return
nazwisko
;
return
nazwisko
;
}
}
public
LocalDate
getDataUrodzenia
()
{
return
dataUrodzenia
;
}
public
int
getWiek
()
{
public
int
getWiek
()
{
return
wiek
;
Period
czasZycia
=
Period
.
between
(
dataUrodzenia
,
LocalDate
.
now
());
return
czasZycia
.
getYears
();
// ile pełnych lat jest w tym okresie czasu?
}
}
}
}
src/main/java/p11_enkapsulacja/Student.java
View file @
277bf1ce
package
p11_enkapsulacja
;
package
p11_enkapsulacja
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
public
class
Student
extends
Osoba
{
public
class
Student
extends
Osoba
{
private
String
kierunek
;
private
String
kierunek
;
...
@@ -9,9 +11,8 @@ public class Student extends Osoba {
...
@@ -9,9 +11,8 @@ public class Student extends Osoba {
// Ukrywamy szczegóły implementacji - klient nie musi wiedzieć, w jaki sposób przechowujemy oceny studenta ("to nasza prywatna sprawa")
// Ukrywamy szczegóły implementacji - klient nie musi wiedzieć, w jaki sposób przechowujemy oceny studenta ("to nasza prywatna sprawa")
// Żadna inna klasa nie może odwoływać się bezpośrednio do tej tablicy.
// Żadna inna klasa nie może odwoływać się bezpośrednio do tej tablicy.
private
int
[]
oceny
=
new
int
[
10
];
// Dzięki temu mogę swobodnie zmienić tablicę na listę z zachowaniem działania metod publicznych - nikomu to nie powinno przeszkadzać.
private
int
iloscOcen
=
0
;
private
List
<
Integer
>
oceny
=
new
ArrayList
<>();
public
Student
(
String
imie
,
String
nazwisko
,
int
wiek
,
String
kierunek
,
int
rok
)
{
public
Student
(
String
imie
,
String
nazwisko
,
int
wiek
,
String
kierunek
,
int
rok
)
{
...
@@ -37,19 +38,15 @@ public class Student extends Osoba {
...
@@ -37,19 +38,15 @@ public class Student extends Osoba {
}
}
public
void
dodajOcene
(
int
ocena
)
{
public
void
dodajOcene
(
int
ocena
)
{
if
(
iloscOcen
==
oceny
.
length
)
{
oceny
.
add
(
ocena
);
oceny
=
Arrays
.
copyOf
(
oceny
,
oceny
.
length
*
2
);
// mniej więcej coś takiego robi ArrayList oraz StringBuilder
}
oceny
[
iloscOcen
++]
=
ocena
;
}
}
public
double
sredniaOcen
()
{
public
double
sredniaOcen
()
{
double
suma
=
0.0
;
double
suma
=
0.0
;
for
(
int
i
=
0
;
i
<
iloscOcen
;
i
++
)
{
for
(
int
ocena
:
oceny
)
{
suma
+=
ocen
y
[
i
]
;
suma
+=
ocen
a
;
}
}
return
suma
/
iloscOcen
;
return
suma
/
oceny
.
size
()
;
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment