2012-09-26 14 views
23

Ho problemi a convertire questa formula V = 4/3 π r3. Ho usato Math.Pi e Math.pow, ma è qui che inizia il problema. Ottengo questo errore (ogni volta),come usare math.pi in java

';' previsto

Inoltre, la variabile diametro non funziona. C'è un errore lì?

import java.util.Scanner; 

import javax.swing.JOptionPane; 

public class NumericTypes  
{ 
    public static void main (String [] args) 
    { 
     double radius; 
     double volume; 
     double diameter; 

     diameter = JOptionPane.showInputDialog("enter the diameter of a sphere."); 

     radius = diameter/2; 

     volume = (4/3) Math.PI * Math.pow(radius, 3); 

     JOptionPane.showMessageDialog("The radius for the sphere is "+ radius 
+ "and the volume of the sphere is "); 
    } 
} 
+7

Il problema successivo si incontrano trova risposta qui: http://stackoverflow.com/questions/10455677/division-in-java –

risposta

39

Manca l'operatore di moltiplicazione. Inoltre, si desidera eseguire 4/3 in virgola mobile, non in numeri interi.

volume = (4.0/3) * Math.PI * Math.pow(radius, 3); 
      ^^ ^
1

La variabile del diametro non funziona perché si sta tentando di memorizzare una stringa in una variabile che accetta solo un doppio. Al fine di farlo funzionare è necessario analizzarlo

Es: diametro = Double.parseDouble (JOptionPane.showInputDialog();

1

Ecco utilizzo di Math.PI per trovare "immettere il diametro di una sfera." circonferenza del cerchio e Area Prima si prende Raggio come una stringa nella finestra di messaggio e convertirlo in numero intero

public class circle { 

    public static void main(String[] args) { 
     // TODO code application logic here 

     String rad; 

     float radius,area,circum; 

     rad = JOptionPane.showInputDialog("Enter the Radius of circle:"); 

     radius = Integer.parseInt(rad); 
     area = (float) (Math.PI*radius*radius); 
     circum = (float) (2*Math.PI*radius); 

     JOptionPane.showMessageDialog(null, "Area: " + area,"AREA",JOptionPane.INFORMATION_MESSAGE); 
     JOptionPane.showMessageDialog(null, "circumference: " + circum, "Circumfernce",JOptionPane.INFORMATION_MESSAGE); 
    } 

} 
-1

Sostituire

volume = (4/3) Math.PI * Math.pow(radius, 3); 

Con:

volume = (4 * Math.PI * Math.pow(radius, 3))/3; 
+5

Forse aggiungere qualche spiegazione su quello che hai fatto qui? – orhtej2