我目前正在為 uni 做一個小組專案,我想知道如何引入一個 break 陳述句來完全停止程式,直到滿足要求?在這種情況下,initialBudget < (noOfBTC[i] * price[i]))。例如,初始預算為100000 < 5BTC * 36270. 我的代碼中斷了,但之后繼續運行代碼。
static Scanner new_scan = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("What is your initial budget? ");
double initialBudget = new_scan.nextDouble();
double[] totalBudget = new double[8];
totalBudget[0] = initialBudget;
double[] uninvestedBudget = new double[8];
uninvestedBudget[0] = initialBudget;
double[] noOfBTC = new double[8];
noOfBTC[0] = 0;
double[] price = new double[8];
price[0] = 36270;
double dailyRateChange = ThreadLocalRandom.current().nextDouble(-0.06, 0.06);
for (int i=0;i<20;i=i 1) {
double r1=Math.random();
//System.out.println(dailyRateChange);
}
for (int i=1;i<=7;i ) {
price[i] = price[i-1] * (1 dailyRateChange);
//System.out.println("Price: " price[i]);
}
System.out.println("How much BTC would you like to buy or sell? ");
double BTC = new_scan.nextDouble();
for (int i=0;i<=7;i ) {
noOfBTC[i] = noOfBTC[i] BTC;
if (initialBudget < (noOfBTC[i] * price[i])) {
System.out.println("Too many BTC");
break;
}else{}
System.out.println("Number of BTC is " noOfBTC[i]);
}
for (int i=0;i<=7;i ) {
totalBudget[i] = uninvestedBudget[i] - (price[i] * noOfBTC[i] * dailyRateChange);
System.out.println("Total budget: " totalBudget[i]);
}
uj5u.com熱心網友回復:
Java 中的 Abreak不會停止您的程式。相反,它“打破”了一個回圈。一旦你到達那個中斷,程式執行將立即進入該行for (int i=0;i<=7;i ) {并開始運行第二個for回圈。
我認為你想要的是設定一個斷點。斷點允許程式員在特定陳述句處暫停執行以進行除錯。如何設定斷點取決于您使用的 IDE(或者,如果您不使用 IDE,則可以從命令列使用 JDB)。我建議在網上搜索“如何在 [the name of your IDE] 中設定斷點”。
uj5u.com熱心網友回復:
break 陳述句只會讓您退出當前回圈,在退出該回圈后,它將遇到您在下面撰寫的下一個 for 回圈并執行它。
如果您不希望執行該回圈,則只需將其放入 if 陳述句中,這將使其僅在滿足特定條件時才執行。
boolean calcBudget = true;
for (int i=0;i<=7;i ) {
noOfBTC[i] = noOfBTC[i] BTC;
if (initialBudget < (noOfBTC[i] * price[i])) {
System.out.println("Too many BTC");
calcBudget = false;
break;
}else{}
System.out.println("Number of BTC is " noOfBTC[i]);
}
if(calcBudget){
for (int i=0;i<=7;i ) {
totalBudget[i] = uninvestedBudget[i] - (price[i] * noOfBTC[i] * dailyRateChange);
System.out.println("Total budget: " totalBudget[i]);
}
}
uj5u.com熱心網友回復:
我認為你想要的是一個while回圈。這個回圈將一直持續到滿足條件為止。
一些偽代碼。(不確定你的邏輯)
boolean done = false;
while(!done) {
System.out.println("How much BTC would you like to buy or sell? ");
double BTC = new_scan.nextDouble();
for (int i=0;i<=7;i ) {
noOfBTC[i] = noOfBTC[i] BTC;
if (initialBudget < (noOfBTC[i] * price[i])) {
System.out.println("Too many BTC");
break;
}else{
System.out.println("Number of BTC is " noOfBTC[i]);
done = true;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/427559.html
