1

我不断收到关于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

4 回答 4

4

当我在编辑器中复制相同的减号时,您使用的减号采用不同的编码,显示为

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

这导致了您的问题。

于 2013-02-25T04:36:26.133 回答
1

d 未定义

添加以下行(将 d 设置为应有的值)

双 d=0;

于 2013-02-25T04:45:54.907 回答
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 ...

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

于 2013-02-25T04:57:18.310 回答
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);
于 2013-02-25T06:43:12.667 回答