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){
    ....
}