我的代码有什么问题?无法解释的语法错误

时间:2013-02-25 04:27:31

标签: java

我继续在double h= (19*a + b – d – g + 15)%30;上收到语法错误,其中显示删除d - g?

 import javax.swing.JOptionPane;
 public class mathpowers {
 public static void main(String[] args) {
 String yearString =
 JOptionPane.showInputDialog("Enter a year");

 double y = Double.parseDouble(yearString);

 double a=y%19;
 double b=y/100;
 double c=y%100;
 double g = Math.round((8*b + 13)/25);
 double h= (19*a + b – d – g + 15)%30;
 double j= c/4;
 double k = c%4;
 int m = (a + 11*h)/319;
 double r = (2*e + 2*j-k-h+m+32)%7;
 double n=(h-m +r+90)/25;
 double p=(h – m + r + n + 19)%32;

4 个答案:

答案 0 :(得分:4)

当我在我的编辑器中复制它时显示为

时,你使用的减号是不同的编码
 double h= (19*a + b ? d ? g + 15)%30;

这导致了您的问题。

答案 1 :(得分:1)

d未定义

添加以下行(将d设置为它应该是什么)

double d = 0;

答案 2 :(得分:1)

d未定义

double h= (19*a + b – d – g + 15)%30;

e未定义

double r = (2*e + 2*j-k-h+m+32)%7;

为什么要将变量命名为a,b,c ......

您的代码中的变量名称太糟糕了

答案 3 :(得分:0)

进行如下更改 - 未定义变量'd'和'e'和'm'需要投射

String yearString = JOptionPane.showInputDialog("Enter a year");

double y = Double.parseDouble(yearString);

double a = y % 19;
double b = y / 100;
double c = y % 100;
double g = Math.round((8 * b + 13) / 25);
double d = 0;
double h = (19 * a + b - d - g + 15) % 30;
double j = c / 4;
double k = c % 4;
int m = (int) ((a + 11 * h) / 319);
int e = 0;
double r = (2 * e + 2 * j - k - h + m + 32) % 7;
double n = (h - m + r + 90) / 25;
double p = (h - m + r + n + 19) % 32;
System.out.println(p);