【解決方法】Javaを使用して給与を2%、5%など増加させる方法


プログラムの作り方
ユーザーが入力する必要がある
彼らの給料とあなたのプログラムは
給与の増分を計算する
以下の表に基づいて取得します。
if—-else 選択制御ステートメントの使用。

給与の増加

N800 – N1000 2%

N101 – N2000 5%

N 201 – N4000 8%

N 400> 10%
このコードを試してみましたが、正しいかどうかを知りたいです。 ありがとう

Java
import java.util.Scanner;
public class Question2
{
 public static void main(String [] args)throws IOException
 {
  float salary;
  double increment;
 Scanner scanner = new Scanner(new InputStreamReader(System.in));


  System.out.print("Enter Your Salary:");

  salary = scanner.nextFloat();

  if ((salary >=800) && (salary <=1000))

  {
   increment=(2 / salary)*100;
   System.out.println("\nPercentage increment is: " + increment + "\n");
  }
  else if ((salary >=101) && (salary <=2000))
  {
   increment=(5 / salary)*100;
   System.out.println("\nPercentage increment is: " + increment + "\n");
  }
  else if ((salary >=201) && (salary <=4000))
  {
   increment=(8 / salary)*100;
   System.out.println("\nPercentage increment is: " + increment + "\n");
  }
  else if (salary > 400 )
  {
   increment=(10 / salary)*100;
   System.out.println("\nPercentage increment is: " + increment + "\n");
  }
  else
  System.out.println("\nNo More Increment For This Salary\n");

    }
}

解決策 1

コードの背後にあるロジックを確認する必要があります。 給与の範囲が重複していることを認識していますか?
として スダカール・シンデ すでに指摘したように、 900 すべての条件を満たします (ただし、 else if 最初の条件のステートメントのみが実行されます。

解決策 3

パッケージArrayListExce;

import java.util.ArrayList;
java.util.List をインポートします。
java.util.stream.Collectors をインポートします。

パブリッククラス従業員{

年齢;
文字列名;
ダブルサル;

public int getAge() {
年齢を返す;
}

public Employee(int age, String name, int sal) {
素晴らしい();
this.age = 年齢;
this.name = 名前;
this.sal = サル;
}

public void setAge(整数年齢) {
this.age = 年齢;
}

public String getName() {
名前を返す;
}

public void setName(文字列名) {
this.name = 名前;
}

public double getSal() {
サルを返します。
}

public void setSal(double sal) {
this.sal = サル;
}

@オーバーライド
パブリック文字列 toString() {
return “従業員 日付未入力”;
}

}

クラスメイン{
public static void main(文字列[] 引数) {

ArrayList<従業員> em = new ArrayList<>();
em.add(新しい従業員(28, “dsa”, 6800));

List finallist = em.stream().map(e -> {
if (e.getAge() > 27) {
e.setSal(e.getSal() * 1.10);

}
eを返します。
}

.collect(コレクター.toList());
System.out.println(最終リスト);
}
}

コメント

タイトルとURLをコピーしました