Radius berechnen und auf x Nachkommastellen runden.

lennero

Bekanntes Mitglied
Dazu sollen 4 Methoden genutzt werden.
1.Methode erstellt eine Dialogbox und wandelt die eingabe in eine double zahl um. try und catch wird verwendet um eine numberformatexception abzufangen. in dem fall wird eine 0 zurückgegeben.

2.Methode liest mithilfe der 1.methode eine double zahl ein. als text wird der 1. methode der String "Geben sie den radius ein " übergeben. die methode berechnet den kreisumfang 2pi*r wobei r die double zahl ist. legen sie den radius sowie den kreisumfang in ein double array und geben es zurück.

3. methode rundet eine double zahl auf x nachkommastellen. das gerundete ergebnis wird zurückgegeben

4. methode ist die main methode und ruft die zweite methode auf und gibt den kreisumfang auf 3 nachkommastellen gerundet ab

mein code :
Java:
import javax.swing.JOptionPane;

class A2{
   
    static double eingabe (String a){
       
        String o = JOptionPane.showInputDialog("");
        double b;
       
        try{
            b=Double.parseDouble(a);
           
        return b;
        } catch(NumberFormatException e){
           
        return 0;
        }
       
    }
   
    static double [] rechnen(){
       
        double x=eingabe("Geben sie einen Radius ein.");
       
        double z[] = new double [2];
       
        double k = 2*Math.PI*x;
       
        z[0] = x;
        z[1] = k;
       
        return z;
       
       
            }


    static double runden(int y, double x){
       
        int stelle=1;
        for(int i=1;i<y;i++)
            stelle=stelle*10;
       
        double d = Math.round(x*stelle)/(double)stelle;
        return d;
       
    }
   
    public static void main(String []args){
       
        double e=rechnen();
        double f=runden(3,e);
       
        System.out.println("Gerundetes Ergebnis = "+f);
       
    }
   
}

mir spuckt die konsole den fehler double[] cannot be converted to double aus ... verstehe ich auch nur leider keine ahnung wie ich es beheben kann. könnte mir jemand helfen ?
 

JCODA

Top Contributor
rechnen gibt ein double array zurück. Das sieht man auch am Fehler. Ansonsten hast du das ganz gut gemacht!
Ich hab mal ein bisschen aufgeräumt:
Java:
import java.util.Arrays;

import javax.swing.JOptionPane;

class A2 {

    static double eingabe(String a) {       
        String o = JOptionPane.showInputDialog(a);
        double b;
        try {
            b = Double.parseDouble(o);
            return b;
        } catch (NumberFormatException e){
            return 0;
        }
    }

    static double[] rechnen() {
        double x = eingabe("Geben sie einen Radius ein.");
        return new double[] { x, 2 * Math.PI * x };
    }

    static double runden(int y, double x) {
        double stelle = Math.pow(10, y);
        return Math.round(x * stelle) / stelle;
    }

    public static void main(String []args){
      
        double e[]=rechnen();
        System.out.println(Arrays.toString(e));//Diese Zeile ist nur zum "Testen"
        double f=runden(3,e[1]);
      
        System.out.println("Gerundetes Ergebnis = "+f);
      
    }
}
 

Neue Themen


Oben