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
a2e5092e
Commit
a2e5092e
authored
May 08, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zastosowanie Set oraz wczytywanie oparte o File
parent
e43d4708
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
90 additions
and
1 deletions
+90
-1
ObslugaCSV.java
src/emps/v2_obiektowo/ObslugaCSV.java
+9
-1
P4_SredniaJedenJob_v3.java
src/emps/v2_obiektowo/P4_SredniaJedenJob_v3.java
+57
-0
P5_MiastaBezPowtorzen.java
src/emps/v2_obiektowo/P5_MiastaBezPowtorzen.java
+24
-0
No files found.
src/emps/v2_obiektowo/ObslugaCSV.java
View file @
a2e5092e
...
...
@@ -8,10 +8,18 @@ import java.util.List;
import
java.util.Scanner
;
public
class
ObslugaCSV
{
public
static
List
<
Employee
>
wczytaj
()
{
// używa domyślnego pliku
return
wczytaj
(
"emps.csv"
);
}
public
static
List
<
Employee
>
wczytaj
(
String
sciezka
)
{
return
wczytaj
(
new
File
(
sciezka
));
}
public
static
List
<
Employee
>
wczytaj
(
File
plik
)
{
List
<
Employee
>
emps
=
new
ArrayList
<>();
try
(
Scanner
scanner
=
new
Scanner
(
new
File
(
sciezka
)
))
{
try
(
Scanner
scanner
=
new
Scanner
(
plik
))
{
scanner
.
nextLine
();
// pomijamy pierwszą linię
while
(
scanner
.
hasNextLine
())
{
String
linia
=
scanner
.
nextLine
();
...
...
src/emps/v2_obiektowo/P4_SredniaJedenJob_v3.java
0 → 100644
View file @
a2e5092e
package
emps
.
v2_obiektowo
;
import
java.io.File
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.TreeSet
;
import
javax.swing.JFileChooser
;
import
javax.swing.JOptionPane
;
import
javax.swing.filechooser.FileNameExtensionFilter
;
// P4_SredniaJedenJob - użytkownik wpisuje nazwę stanowiska (np Programmer),
// a program oblicza liczbę pracowników oraz średnią pensję na tym stanowisku
// v3 - w tej wersji w oknie dialogowym wyświetlamy listę z wyborem jobów
public
class
P4_SredniaJedenJob_v3
{
public
static
void
main
(
String
[]
args
)
{
JFileChooser
chooser
=
new
JFileChooser
(
"."
);
chooser
.
setFileFilter
(
new
FileNameExtensionFilter
(
"Pliki CSV"
,
"csv"
,
"txt"
));
int
coSieStalo
=
chooser
.
showOpenDialog
(
null
);
if
(
coSieStalo
!=
JFileChooser
.
APPROVE_OPTION
)
return
;
File
plik
=
chooser
.
getSelectedFile
();
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
plik
);
Set
<
String
>
jobs
=
new
TreeSet
<>();
for
(
Employee
emp
:
emps
)
{
jobs
.
add
(
emp
.
getJobTitle
());
}
String
szukanyJob
=
(
String
)
JOptionPane
.
showInputDialog
(
null
,
"Wybierz stanowisko"
,
"Wybór"
,
JOptionPane
.
QUESTION_MESSAGE
,
null
,
jobs
.
toArray
(),
"Programmer"
);
if
(
szukanyJob
==
null
)
return
;
double
suma
=
0
;
int
ile
=
0
;
for
(
Employee
emp
:
emps
)
{
if
(
szukanyJob
.
equals
(
emp
.
getJobTitle
()))
{
suma
+=
emp
.
getSalary
();
ile
++;
}
}
if
(
ile
>
0
)
{
double
srednia
=
suma
/
ile
;
JOptionPane
.
showMessageDialog
(
null
,
String
.
format
(
"Na stanowisku %s pracuje %d osób.\nŚrednia pensja wynosi %.2f"
,
szukanyJob
,
ile
,
srednia
));
}
else
{
JOptionPane
.
showMessageDialog
(
null
,
String
.
format
(
"Nikt nie pracuje na stanowisku %s."
,
szukanyJob
),
"Brak danych"
,
JOptionPane
.
WARNING_MESSAGE
);
}
}
}
src/emps/v2_obiektowo/P5_MiastaBezPowtorzen.java
0 → 100644
View file @
a2e5092e
package
emps
.
v2_obiektowo
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.TreeSet
;
// Wypisz bez powtórzeń nazwy miast pojawiające się w pliku
public
class
P5_MiastaBezPowtorzen
{
public
static
void
main
(
String
[]
args
)
{
List
<
Employee
>
emps
=
ObslugaCSV
.
wczytaj
(
"emps.csv"
);
Set
<
String
>
miasta
=
new
TreeSet
<>();
for
(
Employee
emp
:
emps
)
{
miasta
.
add
(
emp
.
getCity
());
}
System
.
out
.
println
(
"Liczba miast: "
+
miasta
.
size
());
for
(
String
miasto
:
miasta
)
{
System
.
out
.
println
(
miasto
);
}
}
}
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