Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
java_dzienna_15_09
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
java_dzienna_15_09
Commits
b71f2cfc
Commit
b71f2cfc
authored
Sep 16, 2022
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pzykłady min/max
parent
9750c491
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
126 additions
and
2 deletions
+126
-2
P4_SredniaProgramistow.java
.../src/main/java/emps/obiektowo/P4_SredniaProgramistow.java
+2
-2
P5_MinMax_v1.java
...ntyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v1.java
+24
-0
P5_MinMax_v2.java
...ntyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v2.java
+32
-0
P5_MinMax_v3.java
...ntyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v3.java
+32
-0
P5_MinMax_v4.java
...ntyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v4.java
+36
-0
No files found.
PC22-ZaawansowaneElementyJavy/src/main/java/emps/obiektowo/P4_SredniaProgramistow.java
View file @
b71f2cfc
...
@@ -10,8 +10,8 @@ public class P4_SredniaProgramistow {
...
@@ -10,8 +10,8 @@ public class P4_SredniaProgramistow {
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
double
suma
=
0
;
double
suma
=
0
;
int
ile
=
0
;
int
ile
=
0
;
for
(
Employee
emp
:
emps
)
{
for
(
Employee
emp
:
emps
)
{
if
(
emp
.
getJobTitle
().
equals
(
"Programmer"
))
{
if
(
"Programmer"
.
equals
(
emp
.
getJobTitle
()
))
{
suma
+=
emp
.
getSalary
();
suma
+=
emp
.
getSalary
();
ile
++;
ile
++;
}
}
...
...
PC22-ZaawansowaneElementyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v1.java
0 → 100644
View file @
b71f2cfc
package
emps
.
strumieniowo
;
import
java.util.List
;
public
class
P5_MinMax_v1
{
public
static
void
main
(
String
[]
args
)
{
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
int
min
=
emps
.
stream
()
.
mapToInt
(
Employee:
:
getSalary
)
.
min
()
.
orElse
(
0
);
int
max
=
emps
.
stream
()
.
mapToInt
(
Employee:
:
getSalary
)
.
max
()
.
orElse
(
0
);
System
.
out
.
println
(
"Najmniejsza pensja: "
+
min
);
System
.
out
.
println
(
"Największa pensja: "
+
max
);
}
}
PC22-ZaawansowaneElementyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v2.java
0 → 100644
View file @
b71f2cfc
package
emps
.
strumieniowo
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Optional
;
public
class
P5_MinMax_v2
{
public
static
void
main
(
String
[]
args
)
{
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
Optional
<
Employee
>
min
=
emps
.
stream
().
min
(
Comparator
.
comparingInt
(
Employee:
:
getSalary
));
Optional
<
Employee
>
max
=
emps
.
stream
().
max
(
Comparator
.
comparingInt
(
Employee:
:
getSalary
));
System
.
out
.
println
(
min
);
System
.
out
.
println
(
max
);
System
.
out
.
println
();
if
(
min
.
isPresent
())
{
Employee
minEmp
=
min
.
get
();
System
.
out
.
printf
(
"Najmniej zarabia %s %s (%s): %d%n"
,
minEmp
.
getFirstName
(),
minEmp
.
getLastName
(),
minEmp
.
getJobTitle
(),
minEmp
.
getSalary
());
}
if
(
max
.
isPresent
())
{
Employee
maxEmp
=
max
.
get
();
System
.
out
.
printf
(
"Najwięcej zarabia %s %s (%s): %d%n"
,
maxEmp
.
getFirstName
(),
maxEmp
.
getLastName
(),
maxEmp
.
getJobTitle
(),
maxEmp
.
getSalary
());
}
}
}
PC22-ZaawansowaneElementyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v3.java
0 → 100644
View file @
b71f2cfc
package
emps
.
strumieniowo
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
import
javax.swing.JOptionPane
;
public
class
P5_MinMax_v3
{
// W tej wersji użytkownik podaje nazwę miasta, a program znajduje pracownika, który zarabia nawięcej w tym mieście.
public
static
void
main
(
String
[]
args
)
{
String
city
=
JOptionPane
.
showInputDialog
(
"Podaj nawę miasta"
);
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
Optional
<
Employee
>
max
=
emps
.
stream
()
.
filter
(
emp
->
Objects
.
equals
(
emp
.
getCity
(),
city
))
.
max
(
Comparator
.
comparingInt
(
Employee:
:
getSalary
));
if
(
max
.
isPresent
())
{
JOptionPane
.
showMessageDialog
(
null
,
"W mieście "
+
city
+
" najbogatszy jest "
+
max
.
get
().
getFirstName
()
+
" "
+
max
.
get
().
getLastName
()
+
" z pensją "
+
max
.
get
().
getSalary
());
}
else
{
JOptionPane
.
showMessageDialog
(
null
,
"Nikt nie pracuje w mieście "
+
city
);
}
}
}
PC22-ZaawansowaneElementyJavy/src/main/java/emps/strumieniowo/P5_MinMax_v4.java
0 → 100644
View file @
b71f2cfc
package
emps
.
strumieniowo
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Objects
;
import
javax.swing.JOptionPane
;
public
class
P5_MinMax_v4
{
// W tej wersji użytkownik podaje nazwę miasta, a program znajduje pracownika, który zarabia nawięcej w tym mieście.
public
static
void
main
(
String
[]
args
)
{
String
city
=
JOptionPane
.
showInputDialog
(
"Podaj nawę miasta"
);
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
// Zamiast po uzyskaniu obiektu Optional za pomocą ifa sprawdzać czy wynik został uzyskany,
// możemy "w locie" zmapować wynik typu Employee na String
// i w jednym wyrażeniu uzyskać Stringa opisującego sytuację gdy dane są, lub gdy danych nie ma.
// map na obiekcie Optional działa tak:
// - jeśli w pudełku coś jest, to zmapuj zawartość pudełka (np. z Optional<Employee> powstaje Optional<String>)
// - jeśli pudełko jest puste, to pozostaje puste
String
tekst
=
emps
.
stream
()
.
filter
(
emp
->
Objects
.
equals
(
emp
.
getCity
(),
city
))
.
max
(
Comparator
.
comparingInt
(
Employee:
:
getSalary
))
.
map
(
emp
->
"W mieście "
+
city
+
" najbogatszy jest "
+
emp
.
getFirstName
()
+
" "
+
emp
.
getLastName
()
+
" z pensją "
+
emp
.
getSalary
())
.
orElse
(
"Nikt nie pracuje w mieście "
+
city
);
JOptionPane
.
showMessageDialog
(
null
,
tekst
);
}
// Zarówno strumienie, jak i obiekty Optional, to są "monady".
// Tę teorie znają programiści języka Haskell :-)
}
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