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ď č. 1Vlastne 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.