Solved

trying to loop for a salary schedule w/ raises for 10 years

Posted on 2004-10-01
5
198 Views
Last Modified: 2010-03-31
The following code is supposed to:

Display a ten year schedule that show the increase for ten years worth of work based oon a users input.

The inputs are:
1.starting salary
2.annual percentage increase (this amount entered remains contant throughout the program)
3.years worked (experience)

I have a problem with implementing a way to get the annual salary to incrementhigher during the ten year schedule.
Thanks, lauren


My source code:

import TerminalIO.KeyboardReader;
public class teacherpay{
      public static void main(String [] args) {

      KeyboardReader reader = new KeyboardReader();

      double startSalary;
      double percentageIncrease;
      double annualSalary;
      int yearsWorked;
      double salaryRange;
      double yearN;   // extra variable declared

      startSalary = reader.readDouble("Please enter your starting salary: $ ");
      System.out.println("");

      percentageIncrease = reader.readDouble("Please enter a whole number for the annual increase percentage: % ");
      System.out.println("");

      yearsWorked = reader.readInt("Please enter the number of years worked:  ");
      System.out.println("");
      System.out.println();

   percentageIncrease = (percentageIncrease / 100);
   annualSalary = ((startSalary * percentageIncrease) + startSalary);

   for(yearsWorked = 1; yearsWorked<=10; yearsWorked = yearsWorked+1)

     System.out.println("Annual salary for year:  " + yearsWorked + ": " + annualSalary);
         System.out.println();
         System.out.println();
         System.out.println();
   }

   }
0
Comment
Question by:Brayn66
  • 3
  • 2
5 Comments
 
LVL 92

Expert Comment

by:objects
ID: 12205761
put the calculation iside your loop:

   annualSalary = startSalary;

   for(yearsWorked = 1; yearsWorked<=10; yearsWorked = yearsWorked+1)

     System.out.println("Annual salary for year:  " + yearsWorked + ": " + annualSalary);
        System.out.println();
        System.out.println();
        System.out.println();
      annualSalary += annualSalary * percentageIncrease;
   }
0
 
LVL 92

Expert Comment

by:objects
ID: 12205764
may want to do the calc first:

   annualSalary = startSalary;

   for(yearsWorked = 1; yearsWorked<=10; yearsWorked = yearsWorked+1)

      annualSalary += annualSalary * percentageIncrease;
     System.out.println("Annual salary for year:  " + yearsWorked + ": " + annualSalary);
        System.out.println();
        System.out.println();
        System.out.println();
   }
0
 

Author Comment

by:Brayn66
ID: 12205813
Thanks! I have added but it still won't calculate and display the schedule range.

*The terminal window results display:

Annual salary for year: 1: $ 10000
Annual salary for year: 2: $ 10000
Annual salary for year: 3: $ 10000
Annual salary for year: 4: $ 10000
and so forth....
 
.........the amount doesn't change ($10000).  lauren

*Here is the changed source code:

import TerminalIO.KeyboardReader;
public class _startsalary {
      public static void main(String [] args) {

      KeyboardReader reader = new KeyboardReader();

      double startSalary;
      double percentageIncrease;
      double annualSalary;
      int yearsWorked;
      double salaryRange;
      double yearN;   // extra variable declared

      startSalary = reader.readDouble("Please enter your starting salary: $ ");
      System.out.println("");

      percentageIncrease = reader.readDouble("Please enter a whole number for the annual increase percentage: % ");
      System.out.println("");

      yearsWorked = reader.readInt("Please enter the number of years worked:  ");
      System.out.println("");
      System.out.println();

   percentageIncrease = (percentageIncrease / 100);
   annualSalary = ((startSalary * percentageIncrease) + startSalary);//after your message(object) I tried keeping and taking out this line of code and it made no difference?
   
   annualSalary = startSalary;  

   for(yearsWorked = 1; yearsWorked<=10; yearsWorked = yearsWorked+1)

     System.out.println("Annual salary for year:  " + yearsWorked + ": " + annualSalary);
         System.out.println();
         System.out.println();
         System.out.println();
         annualSalary += annualSalary * percentageIncrease;
   }

   }


0
 

Author Comment

by:Brayn66
ID: 12205824
I put the change in and it displayed only the 11th year (?) result that looked like it could have been a correct amount for that year.

   annualSalary = startSalary;

   for(yearsWorked = 1; yearsWorked<=10; yearsWorked = yearsWorked+1)
   
      annualSalary += annualSalary * percentageIncrease;
      
    System.out.println("Annual salary for year:  " + yearsWorked + ": " + annualSalary);
         System.out.println();
         System.out.println();
         System.out.println();
   }

   }
 
0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 12205825
theres a missing {

   annualSalary = startSalary;

   for(yearsWorked = 1; yearsWorked<=10; yearsWorked = yearsWorked+1)
   {
     annualSalary += annualSalary * percentageIncrease;
     
    System.out.println("Annual salary for year:  " + yearsWorked + ": " + annualSalary);
        System.out.println();
        System.out.println();
        System.out.println();
   }

0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question