2017-10-02 2 views
0

私はこの研究室のプロンプトに給与計算機を書いた:最終給与は給与カウンタで増加しませんか?

教師の給与スケジュールを表示するプログラムを書く。入力は、開始給与、増加率、およびスケジュールの年数です。出力されたスケジュールの各行には、その年の年番号と給与を含める必要があります。

import java.util.Scanner; 

public class Lab2_10 
{ 

    public static void main (String[] args) 
    { 
    // Get values 
    Scanner scanner = new Scanner(System.in); 
    System.out.print("Enter the base first year salary: "); 
    int first = scanner.nextInt(); 
    System.out.println("Enter the percentage increase: "); 
    int percent = scanner.nextInt(); 
    System.out.println("Enter the number of years in the schedule: "); 
    int years = scanner.nextInt(); 

    // Calculate salary for each year 
    int total = first; 
    int i = 1; 
    int increment = percent/total * 100; 
    while (i <= years && years <= 25) 
    { 
     increment = percent/total * 100; 
     total += increment; 
     System.out.println(total + " " + i); 
     i++; 
    } 

    } 
} 

これまでのところこれまでのことです。しかし、増分ラインは機能していないようです。私が40,000人を基本給与として20年間で5%増額すると、これが返されます。

40000 1 
40000 2 
40000 3 
40000 4 
40000 5 
40000 6 
40000 7 
40000 8 
40000 9 
40000 10 
40000 11 
40000 12 
40000 13 
40000 14 
40000 15 
40000 16 
40000 17 
40000 18 
40000 19 
40000 20 

年が増えていることはわかっていますが、給与は同じままです。私はそれがループか宣言の問題かどうか疑問に思っていましたか?私はそれを修正する方法を本当に知りません。

+0

_I年は増加している知っているが、給与は上司にsame._トークまま:) –

答えて

1

あなた%計算ロジックは、ここで

int increment = total * percent/100.0; // note 100.0 

2のものに

int increment = percent/total * 100; 

変更、それを正しくありません。

  1. Simple math
  2. Integer division
関連する問題