Javaを使った練習問題を解いているのですが、出力される値が期待される値と異なります。
バスの運賃支払に カード残額を使うと、運賃の 10 % が ポイントとしてたまります。
バスを降車する時に、支払う運賃以上のポイントがある場合は、ポイントが優先的に運賃の支払いに使われます。ただし、1 ポイントは 1 円になります。ただし、ポイントで運賃を支払った場合、新たなポイントは発生しません。
上記が問題文になります。
入力された値
2000 5
300
500
300
100
100
期待される値
1700 30
1200 80
900 110
900 10
800 20
出力結果
1700 30
1200 80
900 110
800 120
800 20
java
1import java.util.*; 2public class Main { 3 public static void main(String[] args) { 4 Scanner sc = new Scanner(System.in); 5 int moto = sc.nextInt(); 6 int norikae = sc.nextInt(); 7 int untin = sc.nextInt(); 8 int zankin = moto - untin; 9 double d1 = 0.1; 10 double point = untin*d1; 11 System.out.println(zankin+" "+(int)point); 12 for(int i=0; i<norikae; i++){ 13 if (untin < point){ 14 point = point - untin; 15 untin = sc.nextInt(); 16 zankin = zankin; 17 } else{ 18 untin = sc.nextInt(); 19 zankin = zankin - untin; 20 point =point + untin * d1; 21 } 22 System.out.println(zankin+" "+(int)point); 23 } 24 } 25}

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。