Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » Scanner Java » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Scanner Java
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
WeisserBitcode
Jungspund


Dabei seit: 13.09.2017
Beiträge: 16

Scanner Java Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Guten Tag,
Ich habe ein kleines Programm geschrieben indem man 3 Werte per Scanner eingeben kann. Diese werden nach jeder weiteren Eingabe addiert. Am Ende wird schließlich noch ein Zinssatz dazuaddiert oder abgezogen.

Mein Problem ist, das ich die 3 Scanner ja vorgegeben habe. Doch wenn ich nur 2 Werte eingeben möchte oder sogar 20, wie mach ich das dann? Mit ner Schleife oder mit einem if Befehl? Ich hab keine Ahnung wie ich da vorgehen soll.

PS: Glaub auch meine Lösung ist bischen umständlich großes Grinsen geht bestimmmt auch leichter als jedes mal guthabeninEuro1/2/3/4 zu schreiben.

Meine Ideen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
package info1;

import java.util.Scanner;

public class Bankkonto {
	public static void main(String[] args) {
		double guthabenInEuro1;

		Scanner scannerVariable = new Scanner(System.in);

		System.out.println("Einzahlung/Abbuchung hier eingeben!");
		guthabenInEuro1 = scannerVariable.nextDouble();
		System.out.println("Guthaben = " + guthabenInEuro1);

		System.out.println("Einzahlung/Abbuchung hier eingeben!");
		double guthabenInEuro2 = scannerVariable.nextDouble();
		double guthabenInEuro3 = guthabenInEuro1 + guthabenInEuro2;
		System.out.println("Guthaben = " + guthabenInEuro3);

		System.out.println("Einzahlung/Abbuchung hier eingeben!");
		double guthabenInEuro4 = scannerVariable.nextDouble();
		double guthabenInEuro5 = guthabenInEuro4 + guthabenInEuro3;
		System.out.println("Guthaben = " + guthabenInEuro5);

		double zinssatz = 50; // %

		double umrechnungZinssatz = (zinssatz / 100) + 1;

		double endbetrag = guthabenInEuro5 * umrechnungZinssatz;

		double geldDurchZinsen = endbetrag - guthabenInEuro5;

		if (zinssatz > 0) {
			System.out.println("Gewinn durch Zinsen: " + geldDurchZinsen);
		} else if (zinssatz < 0) {
			System.out.println("Verlust durch Zinsen: " + geldDurchZinsen);
		}
		System.out.println("Endguthaben: " + endbetrag);
	}
}
28.12.2017 20:42 WeisserBitcode ist offline Beiträge von WeisserBitcode suchen Nehmen Sie WeisserBitcode in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 226
Herkunft: Südtirol

RE: Scanner Java Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo WeisserBitcode,

ich habe dein Programm jetzt mal für diesen Zweck angepasst. Du kannst eine Liste verwenden und beliebig viele Werte speichern (sofern das dein Speicher zulässt - also doch nur endlich viele Augenzwinkern ). Solange der Nutzer nun nicht eine leere Eingabe tätigt wird jeweils ein String von der Komandozeile eingelesen und in einen Double konvertiert. Anschließend landet das ganze in der Liste.
Bricht der Nutzer ab, wird die Liste (per Java 8 API) summiert und deine Berechnungen durchgeführt.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

public class BankingAccount {

    public static void main(String[] args){
        List<Double> account = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);

        System.out.println("Bitte geben Sie Ihre Einzahlungen/Abbuchungen ein.");
        System.out.println("Sie beenden die Eingabe mit einer Leerzeile");
                
        String input;
        while ((input = scanner.nextLine()) != null){
            if (input.equals("")){
                break;
            }
            account.add(Double.valueOf(input));
        }
        double sum = account.stream().mapToDouble(Double::doubleValue).sum();

        double zins = 50;
        double result = sum * ((zins / 100) + 1);

        double diff = result - sum;

        if (zins > 0){
            System.out.println("Gewinn durch Zinsen: " + diff);
        } else {
            System.out.println("Verlust durch Zinsen: " + diff);
        }
        scanner.close();
    }
}


Ich hoffe ich konnte helfen. smile

Mit freundlichen Grüßen
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
04.01.2018 08:58 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » Scanner Java