Input/Output Kilometer in Meilen und andersrum

Dondono

Mitglied
Ich kriege einfach keinen funktionierenden Quellcode hin.

Könnte mir bitte jemand helfen?

Es soll ,wie schon im Titel steht, ein Programm erstellt werden, dass eingegebene Zahlen einmal von Km in Meilen und andersrum umrechnet.

Es soll mit inout gearbeitet werden, ansonst bitte möglichst simpel halten und bitte nur Anfänger Techniken verwenden.

Viel Dank und schönen Tag noch
 

eRaaaa

Top Contributor
Wir lösen hier keine Hausaufgaben für andere....Helfen tun wir schon, dafür wäre aber zumindest dein Lösungsansatz/Versuch notwendig. Zeige uns was du bisher hast.
Oder teile zumindest deine Ideen mit uns, wie ist denn die Formel zum Umrechnen? Die beiden Formeln tust du erst einmal in zwei Methoden, diese übernehmen erst einmal nur das Umrechnen, alles andere kommt dann schon ...
 

Phash

Top Contributor
Ansonsten - ich mach deine Hausaufgabe gern, ich nehm 120 Euro Netto für die angefangene Stunde :)

bitte per Überweisung und mein Schweizer Konto
 
Zuletzt bearbeitet:

con0815

Aktives Mitglied
Vielleicht steht er ja vor dem Problem das bei ihm nicht richtig gerechnet wird :) Aber das werden wir ja sehen wenn er einen Schnippsel hier hinterlässt!
 

con0815

Aktives Mitglied
Irgendwie finde ich den Editierbutton nicht.

Aber auch so der Übersicht halber besser!

ich geb dir einfach mal en paar Anstoße noch mit auf den Weg:
- Überleg dir genau wie du die Zahl einlesen möchtest ;)
- Brauchst du nen cleanen schönen Code oder muss das Programm einfach nur das können? (die feine Art ist nicht die kürzeste, was deinem "simpel" dann entspricht)
- Wird dir die Zahl falsch ausgegeben anstatt 0,6 km en paar 30? denk mal über den ersten Tip nach.

Es braucht jetzt nurnoch ein bisschen Probieren und evtl. Lektüre, die du kostenlos im Netz findest

Beim nächsten mal aber bitte gleich etwas Code hinstellen:bae:
 

Dondono

Mitglied
Helfen tun wir schon, dafür wäre aber zumindest dein Lösungsansatz/Versuch notwendig. Zeige uns was du bisher hast.
Oder teile zumindest deine Ideen mit uns, wie ist denn die Formel zum Umrechnen? Die beiden Formeln tust du erst einmal in zwei Methoden, diese übernehmen erst einmal nur das Umrechnen, alles andere kommt dann schon ...


Gerne, soweit bin ich gekommen:

Java:
import inout.Console; //Importieren des Pakets inout

public class kilometer
{
 public static void main (String args[])
 {
  double kilometer;
  double meilen;
  System.out.println("Geben Sie bitte die Kilometeranzahl ein:");
  //Aufruf der Methode readDoubleComma()
  kilometer = Console.readDoubleComma(); 
  //meilen = 0.621371192 * kilometer;
  meilen = 1.0/1.609344 * kilometer;
  System.out.println
    (kilometer + " Kilometer ergeben " + meilen + " US-Meilen");
  System.out.println("Geben Sie bitte die US-Meilenanzahl ein:");
    
  meilen = Console.readDoubleComma(); 
  kilometer = 1.609344  * meilen;
  System.out.println
    (meilen + " US-Meilen ergeben " + kilometer + " Kilometer");
 }
}
 
Zuletzt bearbeitet:

Ikaron

Bekanntes Mitglied
Was ist denn inout für ne Bibliothek? Hab ich ja noch nie gesehen. Ansonsten, wo liegt das Problem bei dem Code? Was ist deine Frage?
Und noch was am Rande: Klassennamen sollte man groß schreiben. Z.B: Object, String, etc... => Kilometer und nicht kilometer ;)
 

HansImGlück

Mitglied
Hallo,
Ich hatte gerade Lust drauf deine Hausaufgaben zu machen. Stell dich darauf ein das dein Lehrer dir unangenehme Fragen stellen wird wie z.B. wozu ist ein "try catch" block, wieso hast du die Sichtbarkeit "private" und die Methoden sowie die Klassenvariablen als "static" deklariert. Was bedeutet "static" und wie wirkt sich das auf die Klassenvariablen und die Methoden aus. Wenn du nicht ganz doof aus der ausschauen willst schaust du dir das nochmal an....

Code:
package kilometermilesconverter;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;

public class KilometerMilesConverter {

    private static double kilometer;
    private static double miles;
    private static int enteredNnumber;

    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            System.out.println(askForConversion());
            mainProgram(br);

        } catch (IOException ex) {
            System.out.println("Bitte geben Sie 0, 1 oder 2 ein!");
            try {
                mainProgram(br);
            } catch (NumberFormatException ex1) {
                Logger.getLogger(KilometerMilesConverter.class.getName()).log(Level.SEVERE, null, ex1);
            } catch (IOException ex1) {
                Logger.getLogger(KilometerMilesConverter.class.getName()).log(Level.SEVERE, null, ex1);
            }
        }

    }

    private static void mainProgram(BufferedReader br) throws NumberFormatException, IOException {
        while (true) {
            System.out.println(offerOptions());
            enteredNnumber = Integer.parseInt(br.readLine());
            if (enteredNnumber == 1) {
                System.out.println("Bitte Km eingeben: ");
                kilometer = Double.parseDouble(br.readLine());
                ConvertKilometerTOMiles(kilometer);
            } else if (enteredNnumber == 2) {
                System.out.println("Bitte Meilen eingeben: ");
                miles = Double.parseDouble(br.readLine());
                ConvertMilesToKilometer(miles);
            } else if (enteredNnumber == 0) {
                System.out.println("Sie haben das Programm beendet");
                System.exit(0);
            }
            System.out.println("Ungültige Zahl eingegeben Programm wird abgebrochen!");
            System.exit(0);
        }
    }

    private static String askForConversion() {
        return "Möchten Sie eine Berechnung durchführen?\n"
                + "Für Km in Meilen drüclen Sie 1,\n"
                + "Für Meilen in Km drücken SIe 2,\n"
                + "Um Das Programm zu beenden drücken Sie 0.\n";
    }

    private static String offerOptions() {
        return "Was möchten Sie tun?";
    }

    private static void ConvertKilometerTOMiles(final double kilometer) {
        System.out.println("Lösung: " + kilometer / 1.609);
    }

    private static void ConvertMilesToKilometer(final double miles) {
        System.out.println("Lösung: " + miles * 1.609);
    }

}
 

con0815

Aktives Mitglied
Hallo HandImGlück,

es ist zwar schön das du ihm das Programm vorgeschrieben hast, leider lernt er so nicht soviel.
Er hat ja keine Kommentare dabei, bzw einen eigenen Ansatz!

Nebenbei war die Aufgabe ja mit inout zu bewerkstelligen.
Weiter sollte es mit einer für Anfänger geeigneten Technik gelöst werden. Natürlich sieht dein Code gut aus, keine Frage. Aber für Anfänger direkt geht das doch viel einfacher.

eine Main methode und in dieser kann man das mit <10 Codezeilen realisieren. Wir warten ja auf Feedback von ihm.

Zumal sein Code ja aussieht, wie der aus dem Link den ich gepostet habe
 

Ähnliche Java Themen

Neue Themen


Oben