Skip to content

Commit 4c6a6d2

Browse files
Sista testet avklarat, påbörjat att plocka bort och sortera om onödiga rader
1 parent 0461d53 commit 4c6a6d2

1 file changed

Lines changed: 33 additions & 12 deletions

File tree

src/main/java/com/example/Main.java

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.time.LocalDate;
88
import java.time.format.DateTimeFormatter;
99
import java.util.*;
10+
import java.util.stream.Collectors;
1011

1112

1213
//Att göra idag
@@ -137,6 +138,7 @@ public static void main(String[] args) {
137138
skrivUtPriser(priserIdag, priserImorgon);
138139
priceMinMax(priserIdag);
139140
medelPris(priserIdag);
141+
listWith96Prices(priserIdag);
140142

141143

142144
}
@@ -188,6 +190,36 @@ public static void chargingWindow (List<ElpriserAPI.Elpris> elpriserLadda, int t
188190
System.out.printf("Billigaste laddningsfönster för %dh är kl %s-%s\nMedelpris för fönster: %s öre\n Påbörja laddning %s", timmar, startTid, slutTid, formateratPris, startTid);
189191
}
190192
}
193+
// Expected Min: Hour 0 -> avg(0.10, 0.11, 0.12, 0.13) = 0.115 SEK/kWh = 11,50 öre
194+
// Expected Max: Hour 23 -> avg(2.40, 2.41, 2.42, 2.43) = 2.415 SEK/kWh = 241,50 öre
195+
public static void listWith96Prices (List<ElpriserAPI.Elpris> elpriser96) {
196+
//behöver 24 grupper där varje grupp visar 4 priser som medelpris
197+
//timme = 0, prisindex 1-4, (P1, P2, P3, P4)
198+
199+
//i är 0; sålänge i är mindre än storleken på listan; öka i med 4
200+
for (int i = 0; i < elpriser96.size(); i += 4) {
201+
//I varje loop, stoppa de fyra värderna i en sublist
202+
List<ElpriserAPI.Elpris> listaPerTimme = elpriser96.subList(i, i + 4);
203+
204+
double sum = listaPerTimme.stream().mapToDouble(ElpriserAPI.Elpris::sekPerKWh).sum();
205+
double medelPris = sum/4.0;
206+
207+
int timme = i/4;
208+
int timme2 = timme +1;
209+
210+
String timDel = String.format("%02d-%02d", timme, timme2);
211+
//String priserIparantes = listaPerTimme.stream().map(elpris -> numberFormat.format(elpris.sekPerKWh()*100)).collect(Collectors.joining(","));
212+
double medelprisToOre = medelPris * 100;
213+
String formateratMedelPris = numberFormat.format(medelprisToOre);
214+
215+
System.out.printf("%s Medelpris: %s öre\n", timDel, formateratMedelPris);
216+
217+
218+
}
219+
}
220+
221+
222+
191223
static void printPriser (List<ElpriserAPI.Elpris> priser) {
192224
priser.stream().forEach(elpriser -> System.out.printf("""
193225
%s-%s %.2f öre\n""",elpriser.timeStart().format(timeFormatter), elpriser.timeEnd().format(timeFormatter), elpriser.sekPerKWh()*100));
@@ -202,17 +234,6 @@ public static List<ElpriserAPI.Elpris> isSortedCombined (List<ElpriserAPI.Elpris
202234

203235
return sammansattaPriser;
204236
}
205-
public static void skrivUtSorterad(List<ElpriserAPI.Elpris> elpriser) {
206-
for (ElpriserAPI.Elpris elpris : elpriser){
207-
208-
String startTid = elpris.timeStart().format(timeFormatter);
209-
String slutTid = elpris.timeEnd().format(timeFormatter);
210-
String pris = numberFormat.format(elpris.sekPerKWh()*100);
211-
212-
System.out.printf("%s-%s %s öre\n", startTid, slutTid, pris);
213-
214-
}
215-
}
216237

217238
public static void skrivUtPriser(List<ElpriserAPI.Elpris> elprisIdag,List<ElpriserAPI.Elpris> elprisImorgon) {
218239

@@ -248,7 +269,7 @@ private static void medelPris(List<ElpriserAPI.Elpris> prisLista) {
248269
summa += elpriser.sekPerKWh();
249270
}
250271
double medelPrisOfDay = summa/ prisLista.size();
251-
System.out.printf("Medelpriser för dagen är: %s öre/KWh \n", numberFormat.format(medelPrisOfDay*100));
272+
System.out.printf("Medelpris: %s öre \n", numberFormat.format(medelPrisOfDay*100));
252273
}
253274

254275
public static void priceMinMax (List<ElpriserAPI.Elpris> prisLista) {

0 commit comments

Comments
 (0)