Brauche Hilfe um diese Aufgabe in Java zu lösen?

2 Antworten

Zu meiner Antwort, ich habe die Aufgabe so verstanden:

package de.projekt;

import java.util.*;

public class Uebung {
    double meterKabel;
    double stundenArbeit;
    double ergebnis;

    Scanner eingabe;


    public void nutzereingabe() {
        eingabe = new Scanner(System.in);
        System.out.println("Stunden:\n");
        try {
            stundenArbeit = eingabe.nextDouble();
        } catch (Exception e) {
            System.out.println("Falsche Eingabe");
        }

        System.out.flush();
        System.out.println("Meeter Kabel:\n");
        try {
            meterKabel = eingabe.nextDouble();
        } catch (Exception e) {
            System.out.println("Falsche Eingabe");
        }
        System.out.flush();
        System.out.println("Ergebnis: " + rechne(meterKabel, stundenArbeit));


    }

    public double rechne(double meter, double stunden) {

        ergebnis = (stunden * 50) - (meter * 2);
        return ergebnis;


    }

    public static void main(String[] args) {
        Uebung nutzereingabe = new Uebung();
        nutzereingabe.nutzereingabe();


    }
}



anoyni 
Beitragsersteller
 26.10.2019, 11:30

dankeeeeee

0

Zunächst einmal beginnen Klassen mit einem Großbuchstaben. Variablen am besten in der Klasse deklarieren, Try/Catch bei den Scannern benutzen, was ist denn wenn jemand eine Kommazahl eingibt, der Scanner erwartet aber ein Int-Wert? Für den Umsatz eine neue Methode schreiben, dafür wirst du die Werte die er eingibt casten müssen. Und dann den Rückgabewert ausgeben


regex9  26.10.2019, 11:43

Ein try-catch ist gar nicht nötig. Mit dem Scanner kann man vor dem Lesen erst prüfen, ob es überhaupt eine Angabe mit passendem Typ gibt (hasNextInt, hasNextDouble, ...).

0
GrakaVII  26.10.2019, 11:47
@regex9

Ok wusste ich gar nicht ^^ habe Scanner das letzte mal vor gefühlt 10 Jahren benutzt :D

0