Java 为什么我在这里得到一个非法的开始表达?
我在我的Java 为什么我在这里得到一个非法的开始表达?,java,Java,我在我的公共字符串makeChange(int-amount){方法中得到了一个非法的表达式开头。 我正在改变配药程序,我有点被困在这里,我想我会做得很好,但我得到了这个错误 package changedispenser; public class ChangeDispenser { private static int quarters, dimes, nickels, pennies; private static int penniesLeft, nickelsLeft, dime
公共字符串makeChange(int-amount){
方法中得到了一个非法的表达式开头。
我正在改变配药程序,我有点被困在这里,我想我会做得很好,但我得到了这个错误
package changedispenser;
public class ChangeDispenser {
private static int quarters, dimes, nickels, pennies;
private static int penniesLeft, nickelsLeft, dimesLeft, quartersLeft;
private static int pennyRollsAdded = 1;
private static int nickelRollsAdded = 1;
private static int dimeRollsAdded = 1;
private static int quarterRollsAdded = 1;
public static final int PENNIES_PER_ROLL = 50;
public static final int NICKELS_PER_ROLL = 40;
public static final int DIMES_PER_ROLL = 50;
public static final int QUARTERS_PER_ROLL = 40;
public static void main(String[] args) {
public String makeChange(int amount) {
if (amount > 99 || amount < 0) {
System.out.println("");
}
quarters = amount / 25;
amount = amount % 25;
dimes = amount / 10;
amount = amount % 10;
nickels = amount / 5;
amount = amount % 5;
pennies = amount;
do {
if (quarters != 0) {
System.out.print(" Quarters: " + quarters);
}
if (dimes != 0) {
System.out.print(" Dimes: " + dimes);
}
if (nickels != 0) {
System.out.print(" Nickels: " + nickels);
}
if (pennies != 0) {
System.out.println(" Pennies: " + pennies);
}
//Fix this so that it outputs the appropriate change IE: 23 cents is 2 dimes 3 pennies
System.out.println("Coins Left:");
System.out.println("Quarters: " + quartersLeft);
System.out.println("Dimes: " + dimesLeft);
System.out.println("Nickels: " + nickelsLeft);
System.out.println("Pennies: " + penniesLeft);
System.out.println("Rolls Added: ");
System.out.println("Quarters: " + quarterRollsAdded);
System.out.println("Dimes: " + dimeRollsAdded);
System.out.println("Nickels: " + nickelRollsAdded);
System.out.println("Pennies: " + pennyRollsAdded);
} while (amount > 0 && amount <= 99);
return "Quarters: " + quarters + " Dime: " + dimes + " Nickels: " + nickels + " Pennies: " + pennies;
}
public int getPenniesLeft() {
return penniesLeft;
}
public void setPenniesLeft(int penniesLeft) {
this.penniesLeft = penniesLeft;
if (penniesLeft <= 0) {
pennyRollsAdded = pennyRollsAdded++;
}
}
public int getNickelsLeft() {
return nickelsLeft;
}
public void setNickelsLeft(int nickelsLeft) {
this.nickelsLeft = nickelsLeft;
if (nickelsLeft <= 0) {
nickelRollsAdded = nickelRollsAdded++;
}
}
public int getDimesLeft() {
return dimesLeft;
}
public void setDimesLeft(int dimesLeft) {
this.dimesLeft = dimesLeft;
if (dimesLeft <= 0) {
dimeRollsAdded = dimeRollsAdded++;
}
}
public int getQuartersLeft() {
return quartersLeft;
}
public void setQuartersLeft(int quartersLeft) {
this.quartersLeft = quartersLeft;
if (quartersLeft <= 0) {
quarterRollsAdded = quarterRollsAdded++;
}
}
public int getPennyRollsAdded() {
return pennyRollsAdded;
}
public void setPennyRollsAdded(int pennyRollsAdded) {
this.pennyRollsAdded = pennyRollsAdded;
}
public int getNickelRollsAdded() {
return nickelRollsAdded;
}
public void setNickelRollsAdded(int nickelRollsAdded) {
this.nickelRollsAdded = nickelRollsAdded;
}
public int getDimeRollsAdded() {
return dimeRollsAdded;
}
public void setDimeRollsAdded(int dimeRollsAdded) {
this.dimeRollsAdded = dimeRollsAdded;
}
public int getQuarterRollsAdded() {
return quarterRollsAdded;
}
public void setQuarterRollsAdded(int quarterRollsAdded) {
this.quarterRollsAdded = quarterRollsAdded;
}
}
换包分配器;
公共类交换分配器{
私人四角五分硬币、一角硬币、五分镍币、便士;
私人静态整数分左、五分、二分、四分;
私有静态int pennyRollsAdded=1;
私有静态int-nickelRollsAdded=1;
私有静态int dimeRollsAdded=1;
私有静态int-quarterRollsAdded=1;
公共静态最终整数便士/卷=50;
公共静态最终整数镍币/卷=40;
公共静态最终整数十美分/卷=50;
公共静态最终整数季度/卷=40;
公共静态void main(字符串[]args){
公共字符串makeChange(整数金额){
如果(金额>99 | |金额<0){
System.out.println(“”);
}
季度=金额/25;
金额=金额%25;
一角硬币=数量/10;
金额=金额%10;
镍币=金额/5;
金额=金额%5;
便士=数量;
做{
如果(四分之一!=0){
系统输出打印(“季度:+季度”);
}
如果(一角硬币!=0){
系统输出打印(“一角:+一角”);
}
如果(镍币!=0){
系统输出打印(“镍币:+镍币);
}
如果(便士!=0){
System.out.println(“便士:+便士”);
}
//修正这一点,使其输出适当的变化,即:23美分是2美分3便士
System.out.println(“硬币左:”);
系统输出打印项次(“季度:+quartersLeft”);
System.out.println(“Dimes:+dimesLeft”);
System.out.println(“镍币:+nickelsLeft”);
System.out.println(“Pennies:+penniesLeft”);
System.out.println(“添加卷:”);
系统输出打印项次(“四分之一:+四分之一已加载);
System.out.println(“Dimes:+dimesrollsadded”);
System.out.println(“镍币:+nickelsrollsadded);
System.out.println(“便士:“+pennyrolllsadded”);
}当(amount>0&&amount您在另一个方法中创建一个方法时,一个no:
public static void main(String[] args) {
public String makeChange(int amount) {
这是一个好的代码格式有帮助的地方。你的格式不太好,缺乏规则和合理的缩进。努力把你的代码格式化好,它会给你带来好处
例如,您会立即看到:
public static void main(String[] args) {
public String makeChange(int amount) {
//...
}
// ...
}
…您正在嵌套方法
编辑:
关于你的最新代码,我不能说我已经全部看过了,但这是非常危险的:
do {
if (quarters != 0) {
System.out.print(" Quarters: " + quarters);
}
if (dimes != 0) {
System.out.print(" Dimes: " + dimes);
}
if (nickels != 0) {
System.out.print(" Nickels: " + nickels);
}
if (pennies != 0) {
System.out.println(" Pennies: " + pennies);
}
} while (amount > 0 && amount <= 99);
do{
如果(四分之一!=0){
系统输出打印(“季度:+季度”);
}
如果(一角硬币!=0){
系统输出打印(“一角:+一角”);
}
如果(镍币!=0){
系统输出打印(“镍币:+镍币);
}
如果(便士!=0){
System.out.println(“便士:+便士”);
}
}虽然(amount>0&&amount气垫船是正确的,但解决方法是将它们分开
public static void main (String[]args){
System.out.println(makeChange(5));
}
public String makeChange(int amount){
....
}
“良好的代码格式有助于”--这还不够强调。啊,谢谢,我已经更改了代码,这是它现在的样子,啊,现在我已经修复了代码,它没有输出任何东西,但是构建成功了,我不能在这个注释中显示我的新代码,因为它太长了:/@user2934545:所有代码都应该作为对您的问题的编辑。不要删除代码l已经到了,否则答案将不再有意义,而是在问题的底部添加新代码。@user2934545:关于你的新代码:再次强调格式化是一件需要认真对待的事情。每个代码块都需要缩进和缩进相同的数量,我通常使用2-3个空格(选择一个并在整个程序中坚持).1空行就足够了。如果您要在此处发布代码,请在格式设置上下功夫。不知道该怎么说,以便您相信我并遵循此建议。您尚未关闭main方法
do {
if (quarters != 0) {
System.out.print(" Quarters: " + quarters);
}
if (dimes != 0) {
System.out.print(" Dimes: " + dimes);
}
if (nickels != 0) {
System.out.print(" Nickels: " + nickels);
}
if (pennies != 0) {
System.out.println(" Pennies: " + pennies);
}
} while (amount > 0 && amount <= 99);
public static void main (String[]args){
System.out.println(makeChange(5));
}
public String makeChange(int amount){
....
}