以下是我被问到的问题:
编写一个名为CalcTotalPrice的完整Java程序。该计划必须包括五种方法: getSaleTotal,getSalePrice,getSaleWeight,calcTax和calcShipping。
编译器中不会打印任何内容。请帮我。 这是我的代码:
import java.util.Scanner;
/**
*
* @author Kramer1
*/
public class CalcTotalPrice {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
public static double getSaleTotal(){
Scanner in = new Scanner(System.in);
double price = getSalePrice(in);
System.out.println(price);
double tax = calcTax(.06);
System.out.println(tax);
double shipping = calcShipping(in.nextDouble());
System.out.println(shipping);
double saleTotal = ((price)*tax)+price+shipping;
System.out.println(saleTotal);
return saleTotal;
}
public static double getSalePrice(Scanner in){
double salePrice = in.nextDouble();
return salePrice;
}
public static double getSaleWeight(Scanner in){
double saleWeight = in.nextDouble();
return saleWeight;
}
public static double calcTax(double salePrice){
double salesTax = .06;
return salesTax;
}
public static double calcShipping(double saleWeight){
double amountShipping = 0;
if (saleWeight < 10){
amountShipping = 10.;
}else if(saleWeight > 10){
amountShipping = 20.;
}
return amountShipping;
}
}
答案 0 :(得分:1)
你在主()中没有做任何事情 要查看输出,您必须在main中创建Scanner,然后调用适当的方法。
您需要进行一些代码重构。首先,将扫描仪移动到主方法。然后将其作为参数传递给其他方法以从main读取数据或读取main中的数据并直接传递值。我建议后者
您还需要声明在方法之外和类中使用的变量,以便它们的值持续到程序结束,并且您可以通过各种方法访问它们。请将它们声明为静态。
答案 1 :(得分:0)
你有一个空的主方法 - 它没有做任何事情或调用任何代码。
尝试实例化您的类并调用其中的一些方法。
它看起来似乎期待用户的一些输入。因此,尝试在main中实例化 Scanner 类,然后可以将其传递给某些方法。还记得在调用下一个in.nextLine();
in.nextDouble();
来刷新输入
尝试
Static Double salesPrice = null;
public static void main(String[] args) {
CalcTotalPrice ctp = new CalcTotalPrice ();
Scanner sc = new Scanner(System.in);
salesPrice = ctp.getSalesPrice (in);
in.nextLine();
//etc
}