Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kurs_java_alx_20240321
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
kurs_java_alx_20240321
Commits
23e9ec31
Commit
23e9ec31
authored
May 08, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Grupowanie - pierwsze wersje na zajęciach
parent
a2e5092e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
70 additions
and
0 deletions
+70
-0
Grupowanie0.java
src/emps/v2_obiektowo/Grupowanie0.java
+36
-0
Grupowanie1.java
src/emps/v2_obiektowo/Grupowanie1.java
+34
-0
No files found.
src/emps/v2_obiektowo/Grupowanie0.java
0 → 100644
View file @
23e9ec31
package
emps
.
v2_obiektowo
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.TreeSet
;
// Dla każdego jobTitle występującego w pliku,
// program oblicza średnią pensję pracowników na tym stanowisku.
// Ta wersja ma gorszą złożoność obliczeniową od pozostałych. Tutaj dla każdego joba ponownie przeglądana jest cała lista proacowników.
public
class
Grupowanie0
{
public
static
void
main
(
String
[]
args
)
{
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
// etap 1: ustalenie zbioru jobów bez powtórzeń
Set
<
String
>
jobs
=
new
TreeSet
<>();
for
(
Employee
emp
:
emps
)
{
jobs
.
add
(
emp
.
getJobTitle
());
}
// etap 2: dla każdego joba obliczamy średnią przeglądając wszystkoich pracowników i sprawdzając ifem
for
(
String
job
:
jobs
)
{
double
suma
=
0
;
int
ile
=
0
;
for
(
Employee
emp
:
emps
)
{
if
(
job
.
equals
(
emp
.
getJobTitle
()))
{
suma
+=
emp
.
getSalary
();
ile
++;
}
}
double
srednia
=
suma
/
ile
;
System
.
out
.
printf
(
"%-32s | %2d | %8.2f%n"
,
job
,
ile
,
srednia
);
}
}
}
src/emps/v2_obiektowo/Grupowanie1.java
0 → 100644
View file @
23e9ec31
package
emps
.
v2_obiektowo
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
Grupowanie1
{
public
static
void
main
(
String
[]
args
)
{
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
Map
<
String
,
Integer
>
sumy
=
new
HashMap
<>();
Map
<
String
,
Integer
>
ilosci
=
new
HashMap
<>();
for
(
Employee
emp
:
emps
)
{
if
(
sumy
.
containsKey
(
emp
.
getJobTitle
()))
{
int
suma
=
sumy
.
get
(
emp
.
getJobTitle
());
sumy
.
put
(
emp
.
getJobTitle
(),
suma
+
emp
.
getSalary
());
int
ile
=
ilosci
.
get
(
emp
.
getJobTitle
());
ilosci
.
put
(
emp
.
getJobTitle
(),
ile
+
1
);
}
else
{
sumy
.
put
(
emp
.
getJobTitle
(),
emp
.
getSalary
());
ilosci
.
put
(
emp
.
getJobTitle
(),
1
);
}
}
for
(
String
job:
sumy
.
keySet
())
{
int
suma
=
sumy
.
get
(
job
);
int
ile
=
ilosci
.
get
(
job
);
double
srednia
=
suma
/
ile
;
System
.
out
.
printf
(
"%-32s | %2d | %8.2f%n"
,
job
,
ile
,
srednia
);
}
}
}
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