我对Java很新。这个代码块有问题。试图找到支付一定金额所需的最少数量的硬币(例如398美分)。
在我尝试减去20,25,30,35,40,45和50行后,我收到错误unexpected type. Required: variable. found: Value.
。我想减去一个值。我想我必须使用一种方法,但我不确定如何。任何帮助都将非常感激。
public class MakingChange {
public static void main(String[] args) {
int a = 398;
int b;
int c;
int d;
int e;
int f;
int g;
int h;
int j;
int k;
int i;
int l;
int m;
int n;
int o;
if (a > 0) {
if (a >= 200) {
i = (int) a / 200;
a - i * 200 = b;
} else {
a = b;
}
if (b >= 100) {
j = (int) a / 100;
b - j * 100 = c;
} else {
b = c;
}
if (c >= 25) {
k = (int) c / 25;
c - k * 25 = d;
} else {
c = d;
}
if (d >= 100) {
l = (int) d / 100;
b - l * 100 = c;
} else {
d = e;
}
if (e >= 10) {
m = (int) e / 10;
e - m * 10 = f;
} else {
e = f;
}
if (f >= 5) {
n = (int) f / 5;
f - n * 5 = g;
} else {
f = g;
}
if (g >= 1) {
o = (int) g / 1;
g - o = h;
} else {
g = h;
}
System.out.println(i + j + k + l + m + n + o);
}
}
}
答案 0 :(得分:0)
你不能说像g-o=h
这样的话。这是在赋值的左侧放置一个值表达式(g-h
)。如果您要将g-o
分配给h
,请说出h = g-o
。你有很多这样的人。
答案 1 :(得分:0)
Java语言中的赋值操作涉及以下语法:
变量=表达式
首先计算右侧的表达式,并将结果值赋给左侧的操作数。因此,按照这个规则,赋值的LHS必须严格地是一个变量,它可以引用原始类型,用户定义类型或数组。
您的代码中违反此原则的块是:
a - i * 200 = b;
b - j * 100 = c;
c - k * 25 = d;
b - l * 100 = c;
e - m * 10 = f;
f - n * 5 = g;
g - o = h;