Java :: Aufgabe #35 :: Lösung #5

6 Lösungen Lösungen öffentlich
#35

Abstand zweier Punkte

Anfänger - Java von Dome - 03.01.2013 um 01:09 Uhr
Schreiben Sie ein Programm, welches den Abstand zweier Punkte berechnet. Zuvor müssen die Koordinaten beider Punkte abgefragt werden.

Konsolenausgabe:

x1:1
y1:1
x2:2
y2:2
1.4142135623730951
#5
vote_ok
von nOrdan (1160 Punkte) - 05.06.2019 um 14:30 Uhr
Anmerkung: Ich arbeite mit dem Programm BlueJ

Quellcode ausblenden Java-Code

import Methodensammlung.Methoden;

/**
 * Der Abstand zweier Punkte kann berechnet werden
 * 
 * @author (nOrdan) 
 * @version (05.06.2019)
 */
public class Rechner
{

    Methoden m = new Methoden();
    
    public static void main(String [] args)
    {
        Rechner r = new Rechner();
        r.inputs();
    }

    private void inputs()
    {
        boolean valid1 = false;
        double x1 = 0;
        double x2 = 0;
        double y1 = 0;
        double y2 = 0;
        String input1 = null;
        while (valid1 == false)
        {
            input1 = m.userInput("Geben sie x1 ein");
            m.errorUserInput(input1);
            try
            {
                x1 = m.parseDouble(input1);
                valid1 = true;
            }
            catch(Exception e)
            {
                m.errorMessage("Invalid user input","Invalid input");
            }
        }
        valid1 = false;
        while (valid1 == false)
        {
            input1 = m.userInput("Geben sie y1 ein");
            m.errorUserInput(input1);
            try
            {
                y1 = m.parseDouble(input1);
                valid1 = true;
            }
            catch(Exception e)
            {
                m.errorMessage("Invalid user input","Invalid input");
            }       
        }
        valid1 = false;
        while (valid1 == false)
        {
            input1 = m.userInput("Geben sie x2 ein");
            m.errorUserInput(input1);
            try
            {
                x2 = m.parseDouble(input1);
                valid1 = true;
            }
            catch(Exception e)
            {
                m.errorMessage("Invalid user input","Invalid input");
            }       
        }
        valid1 = false;
        while (valid1 == false)
        {
            input1 = m.userInput("Geben sie y2 ein");
            m.errorUserInput(input1);
            try
            {
                y2 = m.parseDouble(input1);
                valid1 = true;
            }
            catch(Exception e)
            {
                m.errorMessage("Invalid user input","Invalid input");
            }       
        }
        berechnung(x1,x2,y1,y2);
    }
    
    private void berechnung(double x1, double x2, double y1, double y2)
    {
        double abstand = Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2-y1), 2));
        m.informationMessage("Der Abstand zwischen P1 (" + x1 + "/" + y1 + ") und P2 (" + x2 + "/" + y2 + ") beträgt " + abstand,"Ergebnis");
    }
}



Methoden die ich aus meinem eigenem Methoden package benutzt habe

Quellcode ausblenden Java-Code

public double parseDouble(String input)
    {
        return Double.parseDouble(input);
    }

public String userInput(String message)
    {
        return JOptionPane.showInputDialog(message);
    }

public void errorUserInput(String input)
    {
        if (input == null) 
        {
            System.exit(0); //Drückt der User auf abbrechen wird null zurück gegeben und das Programm wird beendet
        }
        else if (input.length() == 0)
        {
            //continue; wenn nötig
        }
    }

    public void errorMessage(String message,String errorName)
    {
        JOptionPane.showMessageDialog(null,message,errorName,JOptionPane.ERROR_MESSAGE); 
    }
    
    public void informationMessage(String message,String informationName)
    {
        JOptionPane.showMessageDialog(null,message,informationName,JOptionPane.INFORMATION_MESSAGE);
    }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben