【发布时间】:2014-10-30 03:42:24
【问题描述】:
我在尝试编译文件以运行我的程序时收到预期的 .class 错误。我有一个 java 文件(主)调用另一个类名为 Sales 的 java 文件。
这是我的两个 java 文件的代码
import java.util.Scanner;
public class Sales
{
double product1 = 2.98;
double product2 = 4.50;
double product3 = 9.98;
double product4 = 4.49;
double product5 = 6.87;
double sale = 0;
public void printHello()
{
Scanner input = new Scanner (System.in);
System.out.print("Please enter a product number.");
int userInput = input.nextInt();
while(userInput != 0)
{
if(userInput >= 1 && userInput <= 5)
{
switch(userInput)
{
case 1: product1++;
sale += 2.98;
System.out.print("How many were sold?");
userInput = input.nextInt();
break;
case 2: product2++;
sale += 4.50;
System.out.print("How many were sold?");
userInput = input.nextInt();
break;
case 3: product3++;
sale += 9.98;
System.out.print("How many break; were sold?");
userInput = input.nextInt();
break;
case 4:product4++;
sale += 4.49;
System.out.print("How many were sold?");
userInput = input.nextInt();
break;
case 5: product5++;
sale += 6.87;
System.out.print("How many were sold?");
userInput = input.nextInt();
break;
}//end switch
} //end if
else if (userInput != 0)
System.out.println("ERROR: Incorrect Product Number, Please Try Again");
System.out.print("Please enter a Product Number");
userInput = input.nextInt();
}//end while
} //end main
public void printSales(double product1,double product2,double product3,double product4,double product5)
{
System.out.println();
System.out.printf("Product 1: $%.2f\n", product1);
System.out.printf("Product 2: $%.2f\n", product2);
System.out.printf("Product 3: $%.2f\n", product3);
System.out.printf("Product 4: $%.2f\n", product4);
System.out.printf("Product 5: $%.2f\n", product5);
System.out.printf("The total Cost is: %.2f\n", sale);
} //end printSales
} //end class
然后是我的主要:
public class SalesTest
{
public static void main(String[] args)
{
Sales mySales = new Sales();
mySales.printHello();
mySales.printSales();
}//end class
}
我正在尝试使用公共类 SalesTest 调用公共类 Sales。当我尝试编译 SalesTest 时,我得到:
SalesTest.java:8:error: 类 Sales 中的方法 printSales 不能应用于给定类型; mySales.printSales();
必填:双,双,双,双,双 没有发现任何论据 原因:实际参数列表和形式参数列表的长度不同
我该如何解决这个问题?
【问题讨论】:
-
嗯,错误信息说明了一切,它需要 5 个双打,而您没有在 SalesTest 类中给它任何双打
-
您需要将 5 个 double 传递给 printSales(),正如方法签名中所说:public void printSales(double product1,double product2,double product3,double product4,double product5)。 mySales.printSales(1d, 2d, 3d, 4d, 5d);应该工作。
-
啊,我明白了。我没有意识到这一点。试图使用双乘积1等来调用它。非常感谢。现在它正在工作。
标签: java