/ / Snažím sa ukončiť slučku (aj keď používam slučku for for) v jave - java, polia, for-loop, exit, do-while

Snažím sa opustiť zatiaľ čo slučka (zatiaľ čo používa aj pre slučku) v java - java, poliach, for-loop, exit, do-while

Pracujem na projekte, v ktorom musímvypočítať hypotéku. Predpokladá sa, že má ponuku na výber úveru, v ktorej 1) používa na výpočet hypotéky predvolené hodnoty. 2) umožní používateľovi zadať vlastné hodnoty. 3) umožňuje používateľovi ukončiť program a nechať si zobraziť vypočítané hodnoty. Mám slučku for, aby som mohol program spustiť až 10-krát (môže to byť menej). Momentálne využívam slučku do-while na ukončenie programu, keď je výber 3. Nie som si však istá, čo je zlé a dúfam v vysvetlenie a niektoré vylepšenia, ktoré by som mohol implementovať, aby som zaistil, že urobí to, čo má.

        do
{
int selection = 0;
for(int i=0; i<loanArray.length; i++)
{
System.out.println("Please choose from the following choices below: ");
System.out.println("t1) Promotional Loan (preset loan amount, rate, term)");
System.out.println("t2) Unique Loan (enter in loan values)");
System.out.println("t3) Quit (Exit the program)");

System.out.println("Please enter your selection(1-3): ");
selection = s.nextInt();

if(selection ==1)
{
loanArray[i] = new Mortgage();
System.out.println(loanArray[i].toString());
}
else if (selection ==2)
{
loanArray[i].storeLoanAmount();
loanArray[i].storeInterestRate();
loanArray[i].storeTerm();
System.out.println(loanArray[i].toString());
}
else if(selection == 3)
{
programSelection = false;
programRunning = false;
}
}//end of for array loop
}while (programSelection == true);  //end of selection while loop

System.out.println("Exit Test");    //print statement to test if selection screen exited

odpovede:

0 pre odpoveď č. 1

Vlastne som to testoval, ale myslím si, že problém opúšťa internet for slučky. Najrýchlejší spôsob, ako otestovať, je iba použitie a break vyhlásenie so štítkom.

    outerLoop:
do
// ...
else if(selection == 3)
{
break outerLoop;
}
}//end of for array loop
}while (programSelection == true);  //end of selection while loop

Výkazy prerušenia s menovkami sú uvedené v Výukový program Java.


0 pre odpoveď č. 2

Pridaj break; po programRunning = false;


0 pre odpoveď č. 3

máte správnu logiku, dôvodom je slučka.

while (programSelection == true)

sa vykoná až po slučke for. Musí byť tiež opatrný, pretože ak loanArray dĺžka je 1, môžete si myslieť, že kód funguje dobre, v skutočnosti to tak nie je.