Here is the problem: Write a program that creates a loan amortization table. The user of the program will supply values for Initial Loan Principal, Annual Percentage Rate and Monthly Payment. The program should print out the appropriate amortization table including the number of Monthly Payments and the Total Interest paid for the life of the loan. The program should allow multiple
runs (up to 4 different versions) of the table process and should allow the
user to compare runs in a tabular format.

This is what I have so far and should work one I completely debug it. I am really new to Java, and I thinks it is somthing to do with the Array. I recently switched from C++ to Java, so I don't think I have the syntax down correctly. Thanks.

Code:
import javax.swing.JOptionPane;

public class Program_01
{
	
	public static void main(String [] args)
	{
		int Runs;
		
		do{
				String Run_Question = JOptionPane.showInputDialog(null, "How many times,would you like to run" +  
				" the program? (Up to four runs only!)", "Run Question", JOptionPane.QUESTION_MESSAGE);
				
				 Runs = Integer.parseInt(Run_Question);
		
				if( Runs < 0 || Runs > 4)
				{
					JOptionPane.showMessageDialog(null, "The number is not valid, try again!", "Error", 
					JOptionPane.INFORMATION_MESSAGE);
				}
		
			}while(Runs < 0 || Runs > 4);
			
			Questions(Runs);
	}
			
	public static void Questions(int Runs)
	{
	
	
		for(int index = 0;index < Runs;index ++)
		{
		
			String Loan_Principle_String = JOptionPane.showInputDialog(null, "What is the Loan Principle?", "Loan Amount", 
										   JOptionPane.QUESTION_MESSAGE);	
									
			String Percentage_Rate_String = JOptionPane.showInputDialog(null, "What is the Annual Percentage Rate?", 
											"Interest Rate", JOptionPane.QUESTION_MESSAGE);
								
			String Monthly_Payment_String = JOptionPane.showInputDialog(null, "What is the Monthly Payment", "Payment",
											JOptionPane.QUESTION_MESSAGE);
								 
			double Loan_Principle = Double.parseDouble(Loan_Principle_String);
		
			double Percentage_Rate = Double.parseDouble(Percentage_Rate_String);
		
			double Monthly_Payment = Double.parseDouble(Monthly_Payment_String);
			
			Calculate(Loan_Principle, Percentage_Rate, Monthly_Payment);
			
			
		}
	}
	
	public static void Calculate (double Loan, double Percentage, double Monthly)
	{	
		double[] Principle = new double[]{0,0};
		double[] Interest = new double[]{0,0};
		double[] Remain = new double[]{0,0};
				 
		double Monthly_Percent = Percentage/12;
		double MPR = ((int)((Monthly_Percent + .005) * 100.) / 100.);
		
		boolean Over = true;		 
		double Borrowed = Loan;		 
		int Month = 0;
			 
		for (int index = 0; Over != false; index++)
		{
		
			double Rate = MPR * Loan;
			double decimalRate = ((int)((Rate + .005) * 100.) / 100.);
			Interest[index] = decimalRate;
			
			
			
			
			double Prince = Monthly - decimalRate;
			double decimalPrince = ((int)((Prince + .005) * 100.) / 100.);
			Principle[index]= decimalPrince;
		
		
			double Rmn = Borrowed - decimalPrince;
			Borrowed = Rmn;
			double decimalRmn = ((int)((Rmn + .005) * 100.) / 100.);
			Remain[index] = decimalRmn;
			
			if(Monthly > Remain[index] && Remain[index] > 0)
			{
					
				Monthly = Remain[index];
				Over = false;
				
			}
			Month += 1;
		}
		
		System.out.println("I am here!" + Month);
		System.out.println("Payment #" + " " + "Principle" + " " + "Payment" + " " + "APR" + " " + "MPR" +
		 " " + "Interest Payment" + " " + "Principle Payment");
		
		System.out.println("------------------------------------------------------------------------");
			
		for(int index = 0; index < Month; index++)
		{
			System.out.println((index + 1) + "\t" + Remain[index] + "\t" + Percentage + "\t" + MPR + "\t" + Interest[index]
			 + "\t" + Principle[index]);
			
		}
	
				
		
	}
}