Java错误:在我的代码中非法启动表达式

时间:2015-10-07 19:53:01

标签: java

我收到错误:非法启动表达式,不知道如何解决这个问题。这是我需要用指南编写的程序的所有声明。该计划旨在计算船的成本。提前致谢!

import java.util.Scanner;

public class boat
{
public static void main(String[] args)
{
  //declarations
....
double depreciationYear1 = bookValueBeginningYear1 * (2 * 100% / 3);
                                                        ^
double bookValueBeginningYear2 = bookValueBeginningYear1 - depreciationYear1;
double depreciationYear2 = bookValueBeginningYear2 * (2 * 100% / 3);
                                                        ^
double bookValueBeginningYear3 = bookValueBeginningYear2 - depreciationYear2;
double depreciationYear3 = bookValueBeginningYear3 * (2 * 100% / 3);
....                                                    ^
double exciseTaxYear1 = 90% * boatPrice/1000 * 25; 
                            ^
double exciseTaxYear2 = 80% * boatPrice/1000 * 25; 
                            ^
double exciseTaxYear3 = 70% * boatPrice/1000 * 25; 
....                        ^
double insuranceYear1 = boatPrice * 1% + bookValueBeginningYear1* 3%; 
                                                                    ^
double insuranceYear2 = boatPrice * 1% + bookValueBeginningYear2* 3%; 
                                                                    ^
double insuranceYear3 = boatPrice * 1% + bookValueBeginningYear3* 3%; 
....                                                                ^

2 个答案:

答案 0 :(得分:5)

(2 * 100% / 3);

改为使用:

(2 * 100 / 3);     // Just remove the % from all the statement.

因为您一次使用两个运算符(%/)。

这是您已标记的代码中所有语句的错误。

%是java中的模数运算符,用于计算10%4 is 2这两个数的余数。你可能会把它视为百分比而感到困惑。

答案 1 :(得分:1)

在Java中

%模数运算符

用左手操作数除左手操作数并返回余数

示例:B%A将给出0

/分部运营商

用左手操作数

分割左手操作数

示例:B / A将给出2

所以在你的情况下 2 * 100%/ 3 没有任何意义因此它是非法的

快速查看here以了解基本的java运算符