Semesteraufgabe: Insulintagebuch

master
PC 2024-01-07 23:16:22 +01:00
commit 59330db751
8 changed files with 231 additions and 0 deletions

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

1
Semesteraufgabe/.gitignore vendored 100644
View File

@ -0,0 +1 @@
/bin/

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Semesteraufgabe</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,198 @@
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;
public class Semesteraufgabe {
public static ArrayList<String> words = new ArrayList<>();
public static ArrayList<String> getLinesfromFile(String filename) throws FileNotFoundException {
Scanner input = new Scanner(new File(filename));
ArrayList<String> lines = new ArrayList<>();
while (input.hasNextLine()) {
lines.add(input.nextLine());
}
input.close();
return lines;
}
public static ArrayList<String> getDosisFromFile() throws FileNotFoundException {
ArrayList<String> lines = getLinesfromFile("src/dosierung.txt");
for (String line : lines) {
String[] einzelwort = line.split(" ");
for (String wort : einzelwort) {
words.add(wort);
}
}
return words;
}
public static void main(String[] args) throws IOException {
Scanner input = new Scanner(System.in);
LocalTime morgens = LocalTime.of(12, 00);
LocalTime abends = LocalTime.of(18, 00);
getDosisFromFile();
System.out.println("Help -> Liste der Eingaben");
SimpleDateFormat newFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
double dose;
Date now;
double ie;
while (true) {
String eingabe = input.nextLine();
if (eingabe.equalsIgnoreCase("help")) {
System.out.println(
"Dosierung -> Insulindosis überprüfen/ändern \nRechnen -> Insulindosis anhand der Kohlenhydrate berechnen + Eintrag machen \nEintrag -> Eintrag in das Tagebuch hinzufügen \nTagebuch -> Tagebuch lesen \nStop -> Programm beenden");
} else if (eingabe.equalsIgnoreCase("stop")) {
input.close();
System.out.println("Programm beendet");
break;
} else if (eingabe.equalsIgnoreCase("dosierung")) {
System.out.println("Prüfen oder ändern?");
String eingabe1 = input.nextLine();
if (eingabe1.equalsIgnoreCase("prüfen")) {
Scanner scanner = new Scanner(new File("src/dosierung.txt"));
while (scanner.hasNext()) {
System.out.println(scanner.nextLine());
}
} else if (eingabe1.equalsIgnoreCase("ändern")) {
try {
System.out.println("Eingabe in ganzen Zahlen!");
FileWriter dosierung = new FileWriter("src/dosierung.txt");
System.out.println("Dosis morgens in IE:");
String dos11 = input.nextLine();
int dos1 = Integer.parseInt(dos11);
dosierung.write("Morgens : " + dos1 + " IE pro KE");
dosierung.write(System.getProperty("line.separator"));
System.out.println("Dosis mittags in IE:");
String dos22 = input.nextLine();
int dos2 = Integer.parseInt(dos22);
dosierung.write("Mittags : " + dos2 + " IE pro KE");
dosierung.write(System.getProperty("line.separator"));
System.out.println("Dosis abends in IE:");
String dos33 = input.nextLine();
int dos3 = Integer.parseInt(dos33);
dosierung.write("Abends : " + dos3 + " IE pro KE");
System.out.println("Dosierung erfolgreich geändert");
dosierung.close();
} catch (NumberFormatException e) {
System.out.println(
"Bitte eine Zahl eingeben! Bitte erstellen Sie eine neue Insulindosisliste über -> dosierung -> ändern");
}
} else {
System.out.println("Falsche Eingabe!");
}
} else if (eingabe.equalsIgnoreCase("rechnen")) {
System.out.println("Eintrag erstellen?");
String eingabe2 = input.nextLine();
if (eingabe2.equalsIgnoreCase("ja")) {
try (FileWriter writer1 = new FileWriter("src/Tagebuch", true)) {
try {
now = new Date();
System.out.println("Wie hoch ist ihr Blutzucker?");
String bz1 = input.nextLine();
int bz = Integer.parseInt(bz1);
System.out.println("Wie viele Kohlenhydrate in Gramm?");
String kh1 = input.nextLine();
double kh = Double.parseDouble(kh1);
LocalTime jetzt = LocalTime.now();
if (jetzt.isBefore(morgens)) {
dose = Double.parseDouble(words.get(2));
ie = (kh / 10 * dose);
System.out.println("So viel Insulin: " + ie);
}
if (jetzt.isBefore(abends)) {
dose = Double.parseDouble(words.get(8));
ie = (kh / 10 * dose);
System.out.println("So viel Insulin: " + ie);
} else {
dose = Double.parseDouble(words.get(14));
ie = (kh / 10 * dose);
System.out.println("So viel Insulin: " + ie);
}
writer1.write(newFormat.format(now) + ": Blutzucker: " + bz + " Kohlenhydrate: " + kh
+ " Dosis: " + dose + " Bolus: " + ie);
writer1.write("\n");
System.out.println("Eintrag erfolgreich hinzugefügt");
writer1.close();
} catch (NumberFormatException e) {
System.out.println("Fehler! Nächstes Mal geben Sie bitte eine Zahl ein");
}
} catch (NumberFormatException e) {
e.printStackTrace();
System.out.println("Fehler beim Erstellen des Eintrags");
continue;
}
} else if (eingabe2.equalsIgnoreCase("nein")) {
try {
System.out.println("Wie viele Kohlenhydrate in Gramm?");
String kh1 = input.nextLine();
double kh = Double.parseDouble(kh1);
LocalTime jetzt = LocalTime.now();
if (jetzt.isBefore(morgens)) {
dose = Double.parseDouble(words.get(2));
System.out.println("So viel Insulin: " + (kh / 10 * dose));
}
if (jetzt.isBefore(abends)) {
dose = Double.parseDouble(words.get(8));
System.out.println("So viel Insulin: " + (kh / 10 * dose));
} else {
dose = Double.parseDouble(words.get(14));
System.out.println("So viel Insulin: " + (kh / 10 * dose));
}
} catch (NumberFormatException e) {
System.out.println("Fehler! Nächstes Mal geben Sie bitte eine Zahl ein");
}
} else {
System.out.println("Falsche Eingabe");
continue;
}
} else if (eingabe.equalsIgnoreCase("tagebuch")) {
Scanner reader = new Scanner(new File("src/Tagebuch"));
while (reader.hasNext()) {
System.out.println(reader.nextLine());
}
} else if (eingabe.equalsIgnoreCase("eintrag")) {
try {
System.out.println(
"Damit der Eintrag sich den anderen gleicht -> Zuerst das Datum im Format : dd.MM.yyyy HH.mm :");
String datum = input.nextLine();
System.out.println(
"Jetzt die Kohlenhydrateinheiten, die Sie zur angegebenen Uhrzeit gegessen haben :");
String kh = input.nextLine();
int kh1 = Integer.parseInt(kh);
System.out.println(
"Und jetzt die Insulineinheiten, die Sie für das gegessene Essen gespritzt haben :");
String ie1 = input.nextLine();
Double ie11 = Double.parseDouble(ie1);
try {
FileWriter writer1 = new FileWriter("src/Tagebuch");
writer1.write(datum + " : Kohlenhydrate: " + kh1 + " Dosis: " + ie11);
writer1.write("\n");
writer1.close();
System.out.println("Eintrag erfolgreich hinzugefügt");
} catch (NumberFormatException e) {
e.printStackTrace();
System.out.println("Fehler beim Erstellen des Eintrags");
continue;
}
} catch (NumberFormatException e) {
System.out.println("Fehler! Versuchen Sie nächstes Mal eine Zahl einzugeben");
}
} else {
System.out.println("Unbekannte Eingabe");
}
}
}
}

View File

View File

View File

@ -0,0 +1,3 @@
Morgens : 3 IE pro KE
Mittags : 3 IE pro KE
Abends : 3 IE pro KE