我創建了一個將創建比薩對象的類。它考慮到它的尺寸(以英寸爲單位的直徑),切片的數量,餡餅的成本以及披薩的類型。爲對象創建類
這是我第一次做這樣的事情,所以我遇到了一些混亂。
下面是類披薩的代碼:
class Pizza
{
//instance variables
int size;
int slices;
int pieCost;
String typeOfPizza;
//constructors
Pizza (String typeOfPizza)
{
System.out.println (typeOfPizza);
}
Pizza()
{
System.out.println ("pizza");
}
Pizza (int s, int sl, int c)
{
size = s;
slices = sl;
pieCost = c;
typeOfPizza = "????";
}
Pizza (String name, int s, int sl, int c)
{
typeOfPizza = name;
size = s;
slices = sl;
pieCost = c;
}
//behavior
double areaPerSlice(int size, int slices)
{
double wholeArea = Math.PI * Math.pow ((size/2), 2);
double sliceArea = wholeArea/slices;
return sliceArea;
}
double costPerSlice (double pieCost, int slices)
{
double sliceCost = pieCost/slices;
return sliceCost;
}
double costPerSquareInch (double sliceCost, double sliceArea)
{
double costPerSquareInch = sliceCost/sliceArea;
}
String getName(String name)
{
String typeOfPizza = name;
return typeOfPizza;
}
}
下面是在披薩類調用主方法的代碼:
class PizzaTest
{
public static void main (String [] args)
{
String typeOfPizza = "Cheese";
int size = 10; //in inches, referring to the diameter of the pizza
int numberOfSlices = 10; //number of slices
int costOfPie = 20;
Pizza myPizza = new Pizza (typeOfPizza, size, numberOfSlices, costOfPie);
System.out.printf ("Your %s pizza has %.2f square inches per slice.\n", myPizza.getName(),
myPizza.areaPerSlice());
System.out.printf ("One slice costs $%.2f, which comes to $%.3f per square inch.\n",
myPizza.costPerSlice(), myPizza.costPerSquareInch());
}
}
從本質上講,輸出應打印以下:
你的意大利辣香腸披薩每片有20.11平方英寸。 一片價格爲1.05美元,每平方英寸爲0.052美元。
這些值可以忽略,它們來自具有不同參數的示例。當我編譯該程序時,出現以下錯誤:
getName(java.lang.String) in Pizza cannot be applied to()
System.out.printf ("Your %s pizza has %.2f square inches per slice.\n", myPizza.getName(),
^
PizzaTest.java:20: areaPerSlice(int,int) in Pizza cannot be applied to()
myPizza.areaPerSlice());
^
PizzaTest.java:23: costPerSlice(double,int) in Pizza cannot be applied to()
myPizza.costPerSlice(), myPizza.costPerSquareInch());
^
PizzaTest.java:23: costPerSquareInch(double,double) in Pizza cannot be applied to()
myPizza.costPerSlice(), myPizza.costPerSquareInch());
有關如何解決此問題的任何輸入?感謝您幫助開始的程序員!
都屬於同一包中的「Pizza」和「PizzaTest」類? – codeMan