KataKoniK|ATI
New member
Hey,
There is this problem that is driving me nuts and I cannot get the program output values to be like this...
instead when I run the program I get this...
As you can see in the second pic, it just does the same calculation over and over again for each year.
I already tried doing a loop but it still won't do a separate calculation for each year. Like I said, it does the same calculation over and over again for each year.
Therefore,
What would be the proper technique to handle such a calculation?
I tried nested loops already but I still get the same incorrect output.
Here is the part of the code that does the calculation...
Thanks in advance.
If necessary, here's the whole code for the program...
There is this problem that is driving me nuts and I cannot get the program output values to be like this...
instead when I run the program I get this...
As you can see in the second pic, it just does the same calculation over and over again for each year.
I already tried doing a loop but it still won't do a separate calculation for each year. Like I said, it does the same calculation over and over again for each year.
Therefore,
What would be the proper technique to handle such a calculation?
I tried nested loops already but I still get the same incorrect output.
Here is the part of the code that does the calculation...
Code:
private void processInputs()
{
int year;
double interest, principle, answer, answer1, answer2, answer3, answer4;
year = numberOfYearsInput.getNumber();
interest = interestRateInput.getNumber();
principle = initialPrincipleInput.getNumber();
for(int counter = 1; counter <= year; counter++)
{
answer3 = principle;
answer = interest + 100;
answer1 = answer / 100;
answer2 = answer3 * answer1 * answer1 * answer1 * answer1;
answer4 = answer2 - answer3;
displayNumbers(counter, answer3, answer4, answer2);
}
}
private void displayNumbers (int year1, double num1, double num2, double num3)
{
String numberLine = Format.justify ('l', year1, 20) +
Format.justify ('r', num1, 20, 2) +
Format.justify ('r', num2, 33, 2) +
Format.justify ('r', num3, 40, 2);
output.append (numberLine + "\n");
}
Thanks in advance.
If necessary, here's the whole code for the program...
Code:
import javax.swing.*;
import BreezySwing.*;
public class Project7_5 extends GBFrame
{
private JLabel interestRate;
private JLabel initialPrinciple;
private JLabel numberOfYears;
private JLabel yearNumberOutput;
private JLabel principleBeginYearOutput;
private JLabel interestEarnedOutput;
private JLabel principleEndYearOutput;
private DoubleField interestRateInput;
private DoubleField initialPrincipleInput;
private IntegerField numberOfYearsInput;
private JButton compute;
private JButton clear;
private JTextArea output;
public Project7_5()
{
//Define the table's header line
String header = Format.justify ('l', "YEAR #", 25) +
Format.justify ('r', "YEAR BEGINNING PRINCIPLE", 24) +
Format.justify ('r', "INTEREST EARNED", 30) +
Format.justify ('r', "YEAR ENDING PRINCIPLE", 40) +"\n";
//Constructors
interestRate = addLabel ("Enter the interest rate (quarterly)" ,1,1,1,1);
initialPrinciple = addLabel ("Enter the initial principle" ,1,2,1,1);
numberOfYears = addLabel ("Enter the number of years" ,1,3,1,1);
interestRateInput = addDoubleField (0 ,2,1,1,1);
initialPrincipleInput = addDoubleField (0 ,2,2,1,1);
numberOfYearsInput = addIntegerField(0 ,2,3,1,1);
compute = addButton ("Compute" ,3,1,1,1);
clear = addButton ("Clear" ,3,3,1,1);
output = addTextArea (header ,4,1,3,4);
output.setEnabled(false);
}
public void buttonClicked (JButton buttonObj)
{
if(buttonObj == compute)
{
processInputs();
interestRateInput.requestFocus();
}
else if(buttonObj == clear)
{
String header = Format.justify ('l', "YEAR #", 25) +
Format.justify ('r', "YEAR BEGINNING PRINCIPLE", 24) +
Format.justify ('r', "INTEREST EARNED", 30) +
Format.justify ('r', "YEAR ENDING PRINCIPLE", 40) +"\n";
output.setText(header);
}
}
private void processInputs()
{
int year;
double interest, principle, answer, answer1, answer2, answer3, answer4;
year = numberOfYearsInput.getNumber();
interest = interestRateInput.getNumber();
principle = initialPrincipleInput.getNumber();
for(int counter = 1; counter <= year; counter++)
{
answer3 = principle;
answer = interest + 100;
answer1 = answer / 100;
answer2 = answer3 * answer1 * answer1 * answer1 * answer1;
answer4 = answer2 - answer3;
displayNumbers(counter, answer3, answer4, answer2);
}
}
private void displayNumbers (int year1, double num1, double num2, double num3)
{
String numberLine = Format.justify ('l', year1, 20) +
Format.justify ('r', num1, 20, 2) +
Format.justify ('r', num2, 33, 2) +
Format.justify ('r', num3, 40, 2);
output.append (numberLine + "\n");
}
public static void main(String args [])
{
Project7_5 theGUI = new Project7_5();
theGUI.setSize(900,400);
theGUI.setVisible(true);
}
}