私は借金の雪だるま式の計算をしようとしています-知らない人のために-あなたは毎月すべてのローンで最低の支払いをします. 支払いが終わったら、その最低支払い額を次の支払いに追加します。これを繰り返します。ループ中に債務額をそれぞれ処理していますが、画面が真っ暗になり、無限ループになっていると思います。全部で 10 個ありますが、どのように機能するかを示すためにいくつかを以下に示します。
int tempTimeTaken=0;
double newPmt = payment1 + aAmt;
while(amount1>0){
amount1 = (amount1 * rate1) - newPmt;
tempTimeTaken++;
}
newPmt = newPmt + payment2;
for (int i=0;i<tempTimeTaken;i++)
{
if(amount2>0){
amount2 = (amount2 * rate2) - payment2;
}
}
do{
if (amount2>0){
amount2 = (amount2 * rate2) - newPmt;
tempTimeTaken++;}
}while(amount2>0);
ここで初期化されていない各変数は、アクティビティの早い段階で共有設定から取得されます。受信すると、double に解析されます (null ではないことを前提としています)。
try
{
amount2 = Double.parseDouble(debtAmount2);
}
catch ( Exception e )
{
amount2 = 0;
}
私もループを試しました
while (amount>0){
//do stuff
}
それもうまくいきませんでした - 同じ効果。
これを永久にループしないようにする方法について何か提案はありますか?
すべてのデータ型は double です (tempTimeTaken が int を除く) - 初期値は異なります - それらは別のアクティビティに入力され、デフォルト 0 の sharedpref を介してこのアクティビティに運ばれます