Java 同时循环进行更改

Java 同时循环进行更改,java,Java,我正在学习Java,正在编写代码,将硬币转换成硬币。它已完成,但我不确定while循环输入什么。我会使用而(!change.equals(“END”))但这不能做到,因为change是一个整数,所以我能做什么 class Main { public static void main(String args[]) { System.out.print("#Please enter the amount of change : "); int change

我正在学习Java,正在编写代码,将硬币转换成硬币。它已完成,但我不确定while循环输入什么。我会使用
而(!change.equals(“END”))
但这不能做到,因为change是一个整数,所以我能做什么

class Main {

    public static void main(String args[]) {

        System.out.print("#Please enter the amount of change : ");
        int change = BIO.getInt();

        if (change <= 500 && change >= 1) {
            System.out.print("Amount" + "\t" + "Coins" + "\n");
        }

        while (change =) {
            int twopounds, pounds, fifty, twenty, ten, five, two, one;

            twopounds = change / 200;
            int left = change % 200;

            pounds = left / 100;
            left = left % 100;

            fifty = left / 50;
            left = left % 50;

            twenty = left / 20;
            left = left % 20;

            ten = left / 10;
            left = left % 10;

            five = left / 5;
            left = left % 5;

            two = left / 2;
            left = left % 2;

            one = left / 1;

            int nbCoins = twopounds + pounds + fifty + twenty + ten + five + two + one;

            if (change > 500 || change < 1) {
                System.out.print("Invalid amount " + change + "p" + "\n");
            }

            if (change <= 500 && change >= 1) {

                if (nbCoins == 1) {
                    System.out.print(change + "p " + "\t" + nbCoins + " coin ");
                } else {
                    System.out.print(change + "p " + "\t" + nbCoins + " coins ");
                }

                if (twopounds > 0) {
                    System.out.print(twopounds > 1 ? twopounds + "*200p " : "200p ");
                }

                if (pounds > 0) {
                    System.out.print(pounds > 1 ? pounds + "*100p " : "100p ");
                }

                if (fifty > 0) {
                    System.out.print(fifty > 1 ? fifty + "*50p " : "50p ");
                }

                if (twenty > 0) {
                    System.out.print(twenty > 1 ? twenty + "*20p " : "20p ");
                }

                if (ten > 0) {
                    System.out.print(ten > 1 ? ten + "*10p " : "10p ");
                }

                if (five > 0) {
                    System.out.print(five > 1 ? five + "*5p " : "5p ");
                }

                if (two > 0) {
                    System.out.print(two > 1 ? two + "*2p " : "2p ");
                }

                if (one > 0) {
                    System.out.print(one > 1 ? one + "*1p " : "1p ");
                }

                System.out.print("\n");
            }

            System.out.print("#Please enter the amount of change : ");
            change = BIO.getInt();
        }
    }
}
主类{
公共静态void main(字符串参数[]){
系统输出打印(“#请输入更改金额:”);
int change=BIO.getInt();
如果(更改=1){
系统输出打印(“金额”+“\t”+“硬币”+“\n”);
}
while(change=){
两磅,五十磅,二十磅,十磅,五磅,二磅,一磅;
两磅=零钱/200;
int left=更改%200;
磅=左/100;
左=左%100;
五十=左/50;
左=左%50;
二十=左/20;
左=左%20;
十=左/10;
左=左%10;
五=左/5;
左=左%5;
2=左/2;
左=左%2;
1=左/1;
int nbCoins=两磅+磅+五十+二十+十+五+二+一;
如果(更改>500 | |更改<1){
系统输出打印(“无效金额”+更改+“p”+“\n”);
}
如果(更改=1){
如果(nbCoins==1){
系统输出打印(更改+“p”+“\t”+nbCoins+“硬币”);
}否则{
系统输出打印(更改+“p”+“\t”+nbCoins+“硬币”);
}
如果(两磅>0){
系统输出打印(两磅>1?两磅+“*200p”:“200p”);
}
如果(磅>0){
系统输出打印(磅>1?磅+“*100p”:“100p”);
}
如果(50>0){
系统输出打印(五十个>1?五十个+“*50p”:“50p”);
}
如果(二十个>0){
系统输出打印(二十个>一个?二十个+“*20p”:“20p”);
}
如果(十个>0){
系统输出打印(十个>1?十个+“*10p”:“10p”);
}
如果(五个>0){
系统输出打印(五个>1?五个+“*5p”:“5p”);
}
如果(两个>0){
系统输出打印(两个>1?两个+“*2p”:“2p”);
}
如果(一个>0){
系统输出打印(一个>1?一个+“*1p”:“1p”);
}
系统输出打印(“\n”);
}
系统输出打印(“#请输入更改金额:”);
change=BIO.getInt();
}
}
}
谢谢:)

也许这会奏效:

boolean flag = true;

while(flag){
    //do things 
    if(condition_when_you_want_your_loop_to_stop){
        flag = false;
    }
}

这取决于生物是什么。通常,如果是可枚举的,则有类似.hasNextToken()的选项。但是,在不知道该变量声明为什么的情况下,我无法告诉您触发器是什么。

这没有帮助,因为听起来很奇怪,我需要有可能输入一个负数OK,所以您可以在循环外声明一个默认值为true的标志,并将该标志用作while循环参数,并在while循环内随时将其设置为false我很抱歉,哈哈,你能告诉我你的意思吗?我对Java真的很陌生…:)这是我的大学要求我们使用的一个扩展,我对它不太了解。也许你应该回顾一下你的学习材料,你可能会发现它是如何工作的。这是一个明确的答案。如果您正在从某个流中读取大量的
int
,那么您必须有某种方式知道何时完成。这可能是有人输入零,但希望流能够提供一些更优雅的方式来表示“没有更多的输入剩余”。您不能测试
0
?这似乎是一个合理的选择。