teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

質問内容の修正

2021/07/15 09:00

投稿

ashura
ashura

スコア17

title CHANGED
File without changes
body CHANGED
@@ -11,14 +11,11 @@
11
11
 
12
12
  ### 発生している問題・エラーメッセージ
13
13
  Ex1_14_2.java:53: エラー: シンボルを見つけられません
14
- total= Integer.parseInt( args[i] );
14
+ total= Integer.parseInt( args[i] );
15
+ ^
15
- シンボル: 変数 i
16
+ シンボル: 変数 i
16
17
  場所: クラス Ex1_14_2
17
- Ex1_14_2.java:65: エラー: シンボルを見つけられません
18
- System.out.plintln("割引後の支払金額:" +total+"円");
19
- シンボル: メソッド plintln(String)
20
- 場所: タイプPrintStreamの変数 out
21
- エラー3
18
+ エラー2
22
19
 
23
20
 
24
21
  ```ここに言語を入力
@@ -81,7 +78,7 @@
81
78
  }
82
79
 
83
80
  return total;
84
- System.out.plintln("割引後の支払金額:" +total+"円");
81
+ System.out.println("割引後の支払金額:" +total+"円");
85
82
  }
86
83
  }
87
84
 

4

質問内容の修正

2021/07/15 09:00

投稿

ashura
ashura

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- メソッドとそ処理方法について
1
+ 変数i定義方法について
body CHANGED
File without changes

3

質問内容の修正

2021/07/15 08:59

投稿

ashura
ashura

スコア17

title CHANGED
File without changes
body CHANGED
@@ -6,6 +6,9 @@
6
6
  ** - 割引金額の上限は5000円とする
7
7
  これらの条件を満たすようなソースコードを書きたいのです。
8
8
 
9
+ 今、直面している問題は、変数iの扱いについてです。変数のシンボルが見つからないのは、mainメソッドのtotalPrice += Integer.parseInt( args[i] )でiが定義されてるからでしょうか?
10
+
11
+
9
12
  ### 発生している問題・エラーメッセージ
10
13
  Ex1_14_2.java:53: エラー: シンボルを見つけられません
11
14
  total= Integer.parseInt( args[i] );

2

質問内容の修正

2021/07/15 08:58

投稿

ashura
ashura

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- ```### 前提・実現したいこと
1
+ ### 前提・実現したいこと
2
2
  **以下の仕様を持つメソッドdiscountを作成してください。
3
3
  ** - 引数として受け取った値が1000円以上5000円以下の場合、1000円より大きい分について10%割引にする
4
4
  ** - 引数として受け取った値が5000円より大きい場合、1000円より大きく5000円以下の分について10%割引、5000円より大きい分について20%割引にする
@@ -8,19 +8,17 @@
8
8
 
9
9
  ### 発生している問題・エラーメッセージ
10
10
  Ex1_14_2.java:53: エラー: シンボルを見つけられません
11
- total= Integer.parseInt( args[i] );
11
+ total= Integer.parseInt( args[i] );
12
- ^
13
- シンボル: 変数 i
12
+ シンボル: 変数 i
14
13
  場所: クラス Ex1_14_2
15
14
  Ex1_14_2.java:65: エラー: シンボルを見つけられません
16
- System.out.plintln("割引後の支払金額:" +total+"円");
15
+ System.out.plintln("割引後の支払金額:" +total+"円");
17
- ^
18
- シンボル: メソッド plintln(String)
16
+ シンボル: メソッド plintln(String)
19
- 場所: タイプPrintStreamの変数 out
17
+ 場所: タイプPrintStreamの変数 out
20
18
  エラー3個
21
- ### 該当のソースコード
22
19
 
20
+
23
-     ```ここに言語を入力
21
+ ```ここに言語を入力
24
22
  public class Ex1_14_2 {
25
23
 
26
24
  //!!!mainメソッドの処理は書き換えないでください!!!
@@ -83,9 +81,11 @@
83
81
  System.out.plintln("割引後の支払金額:" +total+"円");
84
82
  }
85
83
  }
84
+
86
85
  ```
87
- JAVAここに言語名を入力
88
86
 
87
+ JAVA
89
88
 
89
+
90
90
  ### 試したこと
91
91
  変数を入れ替えるなどしましたが、エラー解消ができません。今の状態が最もエラーの少ない形です。

1

質問内容の修正

2021/07/15 08:29

投稿

ashura
ashura

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- ### 前提・実現したいこと
1
+ ```### 前提・実現したいこと
2
2
  **以下の仕様を持つメソッドdiscountを作成してください。
3
3
  ** - 引数として受け取った値が1000円以上5000円以下の場合、1000円より大きい分について10%割引にする
4
4
  ** - 引数として受け取った値が5000円より大きい場合、1000円より大きく5000円以下の分について10%割引、5000円より大きい分について20%割引にする
@@ -6,36 +6,84 @@
6
6
  ** - 割引金額の上限は5000円とする
7
7
  これらの条件を満たすようなソースコードを書きたいのです。
8
8
 
9
- ここに質問の内容を詳しく書いてください。
10
- (例)PHP(CakePHP)で●●なシステムを作っています。
11
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
12
-
13
9
  ### 発生している問題・エラーメッセージ
14
- エラー: シンボルを見つけられません
10
+ Ex1_14_2.java:53: エラー: シンボルを見つけられません
11
+ total= Integer.parseInt( args[i] );
12
+ ^
13
+ シンボル: 変数 i
14
+ 場所: クラス Ex1_14_2
15
+ Ex1_14_2.java:65: エラー: シンボルを見つけられません
15
- System.out.plintin("割引後の支払金額:" +total+"円");
16
+ System.out.plintln("割引後の支払金額:" +total+"円");
16
17
  ^
17
- シンボル: メソッド plintin(String)
18
+ シンボル: メソッド plintln(String)
18
19
  場所: タイプPrintStreamの変数 out
19
- エラー5
20
+ エラー3
20
-
21
21
  ### 該当のソースコード
22
22
 
23
+     ```ここに言語を入力
24
+ public class Ex1_14_2 {
25
+
26
+ //!!!mainメソッドの処理は書き換えないでください!!!
23
-     static int discount( int total ){
27
+ public static void main (String[] args) {
24
28
 
25
- int total= Integer.parseInt( args[i] );
29
+ int totalPrice = 0 ; //購入した商品の合計金額
26
30
 
31
+ //コマンドライン引数から購入した商品の合計金額(定価)を取得
32
+ for(int i = 0 ; i < args.length ; i++ ){
33
+ totalPrice += Integer.parseInt( args[i] );
34
+ }
35
+
36
+ //discountメソッドを使って値引きを適用し、値引き後の金額を取得
37
+ int discountedPrice = discount( totalPrice ); //値引き後の金額
38
+
39
+ //calcTaxPaymentメソッドを使って支払金額(税込)を取得
40
+ int taxPayment = calcTaxPayment( discountedPrice ); //支払金額(税込)
41
+
42
+ //支払金額(税込)を表示
43
+ System.out.println("値引き後の支払金額:" + taxPayment + "円" );
44
+
45
+ }
46
+
47
+
48
+ /*
49
+ **以下の仕様を持つメソッドcalcTaxPaymentを作成してください。
50
+ ** - 引数として受け取った値の税込価格(消費税は8%とする)を計算して返す
51
+ ** - 税込価格は整数(小数点以下切り捨て)で返す
52
+ */
53
+ static int calcTaxPayment( int price ){ //アンダーバーを適切な内容に書き換えてください
54
+
55
+ int IncludingTax =(int)(price *1.08);
56
+
57
+ return IncludingTax;
58
+ }
59
+
60
+
61
+ /*
62
+ **以下の仕様を持つメソッドdiscountを作成してください。
63
+ ** - 引数として受け取った値が1000円以上5000円以下の場合、1000円より大きい分について10%割引にする
64
+ ** - 引数として受け取った値が5000円より大きい場合、1000円より大きく5000円以下の分について10%割引、5000円より大きい分について20%割引にする
65
+ ** - 値引き額は小数点以下切り捨てで計算する(キャストを使いましょう)
66
+ ** - 割引金額の上限は5000円とする
67
+ */
68
+ static int discount( int total ){
69
+
70
+
71
+ total= Integer.parseInt( args[i] );
72
+
27
- if(total>1000 && total<=5000){
73
+ if(1000<=total && total<=5000){
28
74
 
29
- total = (int)(total * 0.9) ;
75
+ total = total-(total-1000)*(int)0.1 ;
30
76
 
31
77
  }else if( total> 5000){
32
78
 
33
- total = (int)(total * 0.8) ;
79
+ total = total-(total-5000)*(int)0.2-(total-1000)*(int)0.1 ;
34
80
  }
81
+
35
- return discount;
82
+ return total;
36
- System.out.plintin("割引後の支払金額:" +total+"円");
83
+ System.out.plintln("割引後の支払金額:" +total+"円");
37
84
  }
38
85
  }
86
+ ```
39
87
  JAVAここに言語名を入力
40
88
 
41
89