与私有变量相关的非法表达式开头
Posted
技术标签:
【中文标题】与私有变量相关的非法表达式开头【英文标题】:Illegal start of expression relating to a Private variable 【发布时间】:2018-05-29 23:14:43 【问题描述】:我试图运行我的 AP 计算机科学老师提供给我们的一个项目,以检查我们的工作。我一直在尝试两节课来让老师的代码正常工作,但无济于事。问题是,当初始化私有变量 n 时,它会给我一个错误,读取“非法的表达式开始”。任何帮助将非常感激。 这是代码:
package eastersunday;
public class Easter
public static void main(String[] args)
private int n;
private int p;
/**
Constructs the date of Easter Sunday.
* @param year
*/
public Easter(int year)
int y = year;
int a = y % 19;
int b = y / 100;
int c = y % 100;
int d = b / 4;
int e = b % 4;
int g = (8 * b + 13) / 25;
int h = (19 * a + b - d - g + 15) % 30;
int j = c / 4;
int k = c % 4;
int m = (a + 11 * h) / 319;
int r = (2 * e + 2 * j - k - h + m + 32) % 7;
n = (h - m + r + 90) / 25;
p = (h - m + r + n + 19) % 32;
/**
Gets the month of Easter Sunday
@return month of Easter Sunday
*/
public int getEasterSundayMonth()
return n;
/**
Gets the date of Easter Sunday
@return date of Easter Sunday
*/
public int getEasterSundayDay()
return p;
【问题讨论】:
您在 main 方法中声明字段和方法。你不能在 Java 中做到这一点。 旁注:考虑给变量起有意义的名称。 【参考方案1】:我一眼就看到了一个问题:您的代码中有一些悬空括号。这使得您可以在 main 中声明某些内容,您可能有意也可能无意,因为您没有用“”关闭它。确保每个 都以 结束,否则您的代码会给您一些错误。
【讨论】:
【参考方案2】:试试这段代码,在 main 方法之外使用变量和函数
package eastersunday;
public class Easter
public static void main(String[] args)
private int n;
private int p;
/**
Constructs the date of Easter Sunday.
* @param year
*/
public Easter(int year)
int y = year;
int a = y % 19;
int b = y / 100;
int c = y % 100;
int d = b / 4;
int e = b % 4;
int g = (8 * b + 13) / 25;
int h = (19 * a + b - d - g + 15) % 30;
int j = c / 4;
int k = c % 4;
int m = (a + 11 * h) / 319;
int r = (2 * e + 2 * j - k - h + m + 32) % 7;
n = (h - m + r + 90) / 25;
p = (h - m + r + n + 19) % 32;
/**
Gets the month of Easter Sunday
@return month of Easter Sunday
*/
public int getEasterSundayMonth()
return n;
/**
Gets the date of Easter Sunday
@return date of Easter Sunday
*/
public int getEasterSundayDay()
return p;
【讨论】:
以上是关于与私有变量相关的非法表达式开头的主要内容,如果未能解决你的问题,请参考以下文章