Solved

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

Posted on 2004-10-01
5
203 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

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

Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…

696 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