0

How do I stop this from looping over and over?

import java.text.DecimalFormat;
import java.util.Scanner;

public class Loan1 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double interest;
        double payment;
        double amount;
        double term;
        DecimalFormat decimalPlaces=new DecimalFormat("0.00");
        

        while (true) { 							//keep looping until we see stop
            System.out.println("Enter Interest: ");
            interest = input.nextDouble();    
                     


                        
            term = -1;
            while (term <= 0) {
                System.out.println("Enter a positive term: "); // prompt
                term = input.nextDouble(); // this requires positive number, or keeps asking
            }
            System.out.print("Type term: "); // prompt
            
             

            amount = -1;
            while (amount <= 0) {
                System.out.println("Enter a positive amount: "); // prompt
                amount = input.nextDouble(); // this requires positive number, or keeps asking
                break;
               
               
             
            }
            
                   
                        interest = interest/12;//helps simplify the equation
                        payment = amount*((interest*(Math.pow((interest+1), term))))/(Math.pow((interest+1),term)-1);







            

 
         input.nextLine();
        
        } // end while
    } // end main

}// endloan1
3
Contributors
6
Replies
7
Views
7 Years
Discussion Span
Last Post by wildplace
0

can you give me an example, I am not sure how to do that.

0

Under what condition do you want to exit the loop? You already have a case in your code in which you terminate an inner loop (line 36). If you are only expecting to have it run once, then there is no need to have a loop.

Otherwise maybe its a question to the user such as "Enter Interest (q to quit)".

Then your loop can look like:

String interest = input.next();
while(interest.equalsIgnoreCase("q") == false)
{
   ... loop code here

   interest = input.next();
}

Then you just need to parse the number out of the String and use that as the interest rate.

0

I only need it to run once and then quit, i do not need it to keep going

0

Drop the loop then, there will be no point for it. Think of loops as a way of executing a piece or chunk of code more then one time.

Also you other loop only executes one time (since you put a break statement there).

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.