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
ebfea6a5
Commit
ebfea6a5
authored
Jul 11, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Metody obliczające wartość transakcji w rekordzie
parent
6f0aec66
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
4 deletions
+17
-4
Rekord.java
src/main/java/sprzedaz/Rekord.java
+13
-0
SumaWJednymMiescie_Funkcyjnie.java
src/main/java/sprzedaz/SumaWJednymMiescie_Funkcyjnie.java
+2
-2
SumaWJednymMiescie_Imperatywnie.java
src/main/java/sprzedaz/SumaWJednymMiescie_Imperatywnie.java
+2
-2
No files found.
src/main/java/sprzedaz/Rekord.java
View file @
ebfea6a5
...
@@ -12,4 +12,17 @@ import java.time.LocalDate;
...
@@ -12,4 +12,17 @@ import java.time.LocalDate;
- toString, equals i hashCode (przypominające standardowe implementacje generowane przez IDE)
- toString, equals i hashCode (przypominające standardowe implementacje generowane przez IDE)
*/
*/
public
record
Rekord
(
LocalDate
data
,
String
miasto
,
String
sklep
,
String
kategoria
,
String
towar
,
BigDecimal
cena
,
int
sztuk
)
{
public
record
Rekord
(
LocalDate
data
,
String
miasto
,
String
sklep
,
String
kategoria
,
String
towar
,
BigDecimal
cena
,
int
sztuk
)
{
// W rekordach można definiować dodatkowe metody. Duży sens mają takie, które zwracają wyniki obliczone na podstawie wartości pól
public
BigDecimal
wartosc
()
{
return
cena
.
multiply
(
BigDecimal
.
valueOf
(
sztuk
));
}
public
double
wartoscDouble
()
{
return
wartosc
().
doubleValue
();
}
public
int
rok
()
{
return
data
.
getYear
();
}
}
}
src/main/java/sprzedaz/SumaWJednymMiescie_Funkcyjnie.java
View file @
ebfea6a5
...
@@ -13,14 +13,14 @@ public class SumaWJednymMiescie_Funkcyjnie {
...
@@ -13,14 +13,14 @@ public class SumaWJednymMiescie_Funkcyjnie {
// wersja BigDecimal
// wersja BigDecimal
BigDecimal
suma
=
lista
.
stream
()
BigDecimal
suma
=
lista
.
stream
()
.
filter
(
r
->
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
.
filter
(
r
->
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
.
map
(
r
->
r
.
cena
().
multiply
(
BigDecimal
.
valueOf
(
r
.
sztuk
()))
)
.
map
(
Rekord:
:
wartosc
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)
;
;
// wersja double
// wersja double
double
sumaD
=
lista
.
stream
()
double
sumaD
=
lista
.
stream
()
.
filter
(
r
->
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
.
filter
(
r
->
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
.
mapToDouble
(
r
->
r
.
cena
().
doubleValue
()
*
r
.
sztuk
()
)
.
mapToDouble
(
Rekord:
:
wartoscDouble
)
.
sum
();
.
sum
();
JOptionPane
.
showMessageDialog
(
null
,
JOptionPane
.
showMessageDialog
(
null
,
...
...
src/main/java/sprzedaz/SumaWJednymMiescie_Imperatywnie.java
View file @
ebfea6a5
...
@@ -18,7 +18,7 @@ public class SumaWJednymMiescie_Imperatywnie {
...
@@ -18,7 +18,7 @@ public class SumaWJednymMiescie_Imperatywnie {
BigDecimal
suma
=
BigDecimal
.
ZERO
;
BigDecimal
suma
=
BigDecimal
.
ZERO
;
for
(
Rekord
r
:
lista
)
{
for
(
Rekord
r
:
lista
)
{
if
(
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
{
if
(
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
{
suma
=
suma
.
add
(
r
.
cena
().
multiply
(
BigDecimal
.
valueOf
(
r
.
sztuk
())
));
suma
=
suma
.
add
(
r
.
wartosc
(
));
}
}
}
}
...
@@ -26,7 +26,7 @@ public class SumaWJednymMiescie_Imperatywnie {
...
@@ -26,7 +26,7 @@ public class SumaWJednymMiescie_Imperatywnie {
double
sumaD
=
0
;
double
sumaD
=
0
;
for
(
Rekord
r
:
lista
)
{
for
(
Rekord
r
:
lista
)
{
if
(
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
{
if
(
miasto
.
equalsIgnoreCase
(
r
.
miasto
()))
{
sumaD
+=
r
.
cena
().
doubleValue
()
*
r
.
sztuk
();
sumaD
+=
r
.
wartoscDouble
();
}
}
}
}
...
...
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