Am probleme în a converti această formulă V = 4/3 π r^3
. Am folosit Math.PI
și Math.pow
, , dar primesc această eroare:
‘;’ așteptat
De asemenea, variabila diameter nu funcționează. Este o eroare acolo?
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 ");
}
}
- Următoarea problemă pe care o veți întâlni are răspunsul aici: stackoverflow.com/questions/10455677/division-in-java – > Por Greg Hewgill.
Îți lipsește operatorul de înmulțire. De asemenea, doriți să faceți 4/3
în virgulă mobilă, nu în matematică cu numere întregi.
volume = (4.0 / 3) * Math.PI * Math.pow(radius, 3);
^^ ^
Înlocuiți
volume = (4 / 3) Math.PI * Math.pow(radius, 3);
cu:
volume = (4 * Math.PI * Math.pow(radius, 3)) / 3;
- Poate adăugați câteva explicații despre ce ați făcut aici? – > .
- @orhtej2 (4 / 3) returnează 1. Deci, el înmulțește cu 4 un float pentru a obține un float și apoi împarte cu 3, pentru a obține un rezultat float. – > .
Iată utilizarea lui Math.PI
pentru a afla circumferința cercului și ariaPrima dată luăm Radius ca șir de caractere în Message Box și îl convertim în număr întreg
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);
}
}
Variabila Diametru nu va funcționa deoarece încerci să stochezi un șir de caractere într-o variabilă care acceptă doar un dublu. Pentru ca aceasta să funcționeze, va trebui să o analizați
Ex:
diameter = Double.parseDouble(JOptionPane.showInputDialog("enter the diameter of a sphere.");