|
-
Dec 29th, 2002, 09:53 PM
#1
Thread Starter
New Member
Java Help
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...
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);
}
}
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|