Java 计算爪哇每平方英寸比萨饼的价格
我正在编写一个java程序,用一种方法计算比萨饼的面积,用另一种方法计算每平方英寸比萨饼的价格。我有面积法,但当我试图计算每平方英寸的价格时,没有得到任何输出。我认为这与在ppsi方法中调用area()方法有关,但我不确定我到底做错了什么,也不确定如何正确调用area方法Java 计算爪哇每平方英寸比萨饼的价格,java,Java,我正在编写一个java程序,用一种方法计算比萨饼的面积,用另一种方法计算每平方英寸比萨饼的价格。我有面积法,但当我试图计算每平方英寸的价格时,没有得到任何输出。我认为这与在ppsi方法中调用area()方法有关,但我不确定我到底做错了什么,也不确定如何正确调用area方法 import java.util.Scanner; public class Pizza { public static void main(String[] args){ System.out.p
import java.util.Scanner;
public class Pizza {
public static void main(String[] args){
System.out.println("What is the size of your pizza in inches?");
System.out.println(area() + " square inches");
System.out.println("What is the price of your pizza?");
System.out.println(ppsi());
}
public static double area(){
Scanner keyboard = new Scanner(System.in);
double diameter = keyboard.nextDouble();
return (diameter / 2) * (diameter / 2) * Math.PI;
}
public static double ppsi(){
Scanner keyboard = new Scanner(System.in);
double price = keyboard.nextDouble();
return((area()) / price);
}
}
打印“价格是多少…”提示后,程序希望用户输入价格,然后再次输入区域。如果在提示之后输入两个数字,我希望您会看到一些输出 您在ppsi方法中再次调用区域,为什么需要再次调用该区域来读取 我想你需要下面这样的东西,我刚刚修改了你的代码:
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("What is the size of your pizza in inches?");
double inches=scanner.nextDouble();
double area=area(inches);
System.out.println(area + " square inches");
System.out.println("What is the price of your pizza?");
double price=scanner.nextDouble();
System.out.println(ppsi(area, price));
}
public static double area(double diameter){
return (diameter / 2) * (diameter / 2) * Math.PI;
}
public static double ppsi(double area, double price){
return((area) / price);
}
在
ppsi
方法中,它调用area
,这将提示用户再次在中输入另一个值。相反,首先提示输入这些值,然后将它们传递到方法中
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("What is the size of your pizza in inches?");
double diameter = keyboard.nextDouble();
System.out.println(area(diameter) + " square inches");
double price = keyboard.nextDouble();
System.out.println("What is the price of your pizza?");
System.out.println(ppsi(diameter, price));
}
public static double area(double diameter){
//Scanner keyboard = new Scanner(System.in);
//double diameter = keyboard.nextDouble();
return (diameter / 2) * (diameter / 2) * Math.PI;
}
public static double ppsi(double diameter, double price){
//Scanner keyboard = new Scanner(System.in);
//double price = keyboard.nextDouble();
return((area(diameter)) / price);
}
这样,这些方法只做一项工作,而不是两项工作。您在
区域
方法中再次请求该区域-分别请求这些值,然后将它们作为parameters@MadProgrammer你单独要求这些值是什么意思?我使用各自的方法进行计算。获取使用area()计算的值,并将该值传递给ppsi(双面积),然后在ppsiYou调用area
中从ppsi
中使用它代替area(),这将再次提示用户输入所需的面积。在方法外部提示输入这些值,并将结果作为参数传递给方法谢谢,我确实看到了输出。我如何纠正这一点,以便每次只需输入一次?