当前位置: 首页 > 知识库问答 >
问题:

发现编译器错误:需要void:简单方法java赋值上的double

沃阳飙
2023-03-14

我们刚刚学习了新的方法,我的教授希望我们调用所述方法3次来计算珠宝店的不同税额。这是说明的片段:

a.使用提示和扫描仪读取钻石成本、设置成本和编号的值有序b.通过添加钻石成本和设置成本中的值来计算基本成本c.通过调用传递基数成本和豪华率作为参数的calcExtra成本方法来计算豪华税。d.通过调用传递基数成本和状态率作为参数的calcExtra成本方法来计算状态税。e.通过调用传递基数成本和劳力率作为参数的calcExtra成本方法来计算劳力成本。

我不断收到上面所述的编译器错误,但我一生都不知道为什么。据我所知,我已经将所有内容都声明为双精度。这是我到目前为止的代码:

import javax.swing.JOptionPane;
import java.util.Scanner;
import java.util.Locale;
import java.text.NumberFormat;

public class Project6
{

public static final double LUXURY_RATE = 0.2;
public static final double STATE_RATE = 0.10;
public static final double LABOR_RATE = 0.05;

   //This is the main method, taking user input and displaying values from calcExtraCost method
   public static void main(String[] args)
   {

   Scanner keyboard = new Scanner(System.in);
   NumberFormat dollar = NumberFormat.getCurrencyInstance(Locale.US);

   int numOrdered = 0;

   double diamondCost = 0.0;
   double settingCost = 0.0;
   double baseCost = 0.0;
   double totalCost = 0.0;
   double laborCost = 0.0;
   double stateTax = 0.0;
   double luxuryTax = 0.0;
   double finalAmountDue = 0.0;

   System.out.println("What is the cost of the diamond?");
   diamondCost = keyboard.nextDouble();

   System.out.println("What is the setting cost of the diamond?");
   settingCost = keyboard.nextDouble();

   System.out.println("How many would you like to order?");
   numOrdered = keyboard.nextInt();

   baseCost = (diamondCost + settingCost);

   luxuryTax = calcExtraCost(baseCost, LUXURY_RATE);


   }

   public static void calcExtraCost(double bseCost, double rate)
   {

   double total = (bseCost * rate);

   }



}   

我需要调用此方法来计算上面提到的变量,但不断出现上述编译器错误。我已经检查了一遍,问了我认识的每个人,但似乎找不到我犯了什么错误的答案。我是Java的新手,所以我希望有人能帮助我理解我做错了什么。到目前为止,我只尝试使用calcExtraCost方法计算luxuryTax,但由于编译器错误,我无法继续。据我所知,一切都被宣布为双倍,所以我不知道为什么它会作为空白回归。

共有2个答案

锺离声
2023-03-14

设置返回类型你的函数,就像

public static double  calcExtraCost(double bseCost, double rate)
{
  return (bseCost * rate);
}
姬烨磊
2023-03-14

您的计算额外成本应返回一种双精度类型。由于您在此处分配它:luxuryTax = calcExtraCost(baseCost, LUXURY_RATE);因此 void 方法不能分配给任何其他变量。更改此方法:

public static void calcExtraCost(double bseCost, double rate)
{

  double total = (bseCost * rate);

}

自:

public static double calcExtraCost(double bseCost, double rate)
{

  double total = (bseCost * rate);
  return total;
}
 类似资料:
  • 我写了下面提到的一个简单的java程序。不幸的是,编译错误发生了。 在编译过程中,在命令提示符下会显示以下内容: c:\Java 它对我的任何程序都不起作用,即使是这个简单的程序也不行!这是为什么? 编辑: 现在我有: 而且它不起作用。为什么不起作用? 它说的和以前一样。 你对Java所说的。lang.String[]有效,但为什么不能呢?为什么我以前不需要穿上这些?

  • 我很难理解为什么要编译以下代码: 我可以理解为什么第一个赋值是有效的-

  • 我只是试图熟悉ScalaFX,我对Scala的了解也还处于萌芽阶段。你能帮我解决下面这个简单的问题吗? 具有以下编译器错误: 我应该纠正什么,以便它编译? 提前感谢!

  • 我仍然离我要做的很远,但在选择和设置付款期限和到期期限的前几行得到了一个代码 错误是编译错误-对象必需。我不知道是什么。WIP代码复制如下 请帮助编辑#1-2017年9月19日上午3点10分,我的第一个VBA代码终于运行了。它很慢,但它在奔跑。我在代码行“Workbooks(”himanshu.xlsm“).sheet1”.range(“j2”).copy Workbooks(“himanshu.

  • 问题内容: 以下代码块在1.8.11中可以正常编译,但在1.8.20中会引发错误 我得到的错误是java:找不到适合过滤器的方法(com.google.common.base.Predicate) 在更新8和20之间是否存在会影响此代码的更改?我在两种情况下都使用相同版本的guava 17.0(最新版本),唯一的变化是Java中的更新版本。 任何帮助是极大的赞赏。 编辑 显示错误的行是 问题答案:

  • 问题内容: 我必须使用测试工具编译我的代码,但是,当该测试工具调用我的方法时,我收到此错误: “课程Course中的getCourseDetails方法不能应用于给定类型; 必需:java.lang.String,int,java.lang.String,boolean,java.lang.String.java.lang.String,double 找到:没有参数 原因:实际参数列表和形式参数列