2012-09-26 10 views
23

Mam problemy z konwersją tej formuły V = 4/3 π r3. Użyłem Math.Pi i Math.pow, ale tutaj zaczyna się problem. Otrzymuję ten błąd (za każdym razem),Jak korzystać z math.pi w java

"; ' oczekiwany

Również zmienna średnicy nie działa. Czy jest tam błąd?

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

Kolejnym problemem natkniesz się tu odpowiedzi: http://stackoverflow.com/questions/10455677/division-in-java –

Odpowiedz

39

Brakuje operatora mnożenia. Również chcesz wykonać 4/3 w postaci zmiennoprzecinkowej, a nie całkowitoliczbowej.

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

Twoja zmienna średnicy nie będzie działać, ponieważ próbujesz zapisać ciąg w zmiennej, która będzie akceptować tylko podwójne. W celu użycia go do pracy trzeba będzie analizować to

Ex: średnica = Double.parseDouble (JOptionPane.showInputDialog();

1

Oto wykorzystanie Math.PI znaleźć „wprowadzić średnicę kuli”. obwód koła, a okoliczne Pierwszy bierzemy Radius jako ciąg w Message Box i przekształcić go w całkowitej

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

Wymień

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

Z:

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

Może dodać kilka wyjaśnień na temat tego, co zrobiłeś tutaj? – orhtej2

Powiązane problemy