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

Informatiker Board » Themengebiete » Informatik in der Schule » Scanner Java » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
InformaTiger RE: Scanner Java

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
WeisserBitcode Scanner Java

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);
	}
}