Java 返回语句丢失,即使代码格式正确且方法已明确调用
我确保我所有的牙套都放在上课的正确位置,但是运气不好。当我试图在calculatePremium方法中打印计算结果时,我得到一个返回语句错误。我得到的错误在我代码的底部Java 返回语句丢失,即使代码格式正确且方法已明确调用,java,debugging,Java,Debugging,我确保我所有的牙套都放在上课的正确位置,但是运气不好。当我试图在calculatePremium方法中打印计算结果时,我得到一个返回语句错误。我得到的错误在我代码的底部 import java.util.Scanner; class Insurance { public static void main (String args[]) { int currentYear, birthYear;
import java.util.Scanner;
class Insurance
{
public static void main (String args[])
{
int currentYear, birthYear;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter current year >> ");
currentYear = keyboard.nextInt();
System.out.print("Enter birth year >> ");
birthYear = keyboard.nextInt();
calculatePremium(currentYear, birthYear);
}
public static int calculatePremium(int currentYear, int birthYear)
{
System.out.println("The premium is $" + ((currentYear - birthYear) /10 ) + (15) * 20 );
}
}
Insurance.java:21: error: missing return statement
}
^
1 error
sandbox $ java Insurance
Error: Could not find or load main class Insurance
由于您不希望calculatePremium()返回任何内容,因此应更改以下方法头:
public static int calculatePremium(int currentYear, int birthYear)
为此:
public static void calculatePremium(int currentYear, int birthYear)
现在将返回类型设置为int。如果不希望方法返回值,则返回类型必须为void。可能没有类文件,因为源代码无法编译,因为它在语法上无效-缺少return语句 calulatePremium说它返回一个int,所以它需要
public static int calculatePremium …
首先修复第一个bug。问题是您的方法的返回类型为
int
,但您忽略了return
语句。您可以通过编写如下代码所示的方法来解决此问题
public static int calculateprium(int当前年份,int出生年份)
{
报税表(本年度-出生年份)/10+(15)*20;
}
然后像这样编写main
方法
publicstaticvoidmain(字符串[]args){
int当前年份、出生年份、保费;
扫描仪键盘=新扫描仪(System.in);
系统输出打印(“输入本年>>”;
currentYear=键盘.nextInt();
系统输出打印(“输入本年>>”;
生日=键盘.nextInt();
保费=计算保费(当前年份、出生年份);
System.out.println(“保险费为$”+保险费);
}
或
将返回类型更改为void
public static void calculateprium(整数当前年份,整数出生年份)
{
System.out.println(“保险费为“$”+((当前年份-出生年份)/10)+(15)*20);
}