質問編集履歴

3

タグ削除の取り消し

2018/11/27 02:53

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes

2

意図的な内容抹消の取り消し

2018/11/27 02:53

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 不適合な型: エラー
1
+ 不適合な型: 精度が失われる可能性があるdoubleからintへの変換のエラーについて
test CHANGED
@@ -1,21 +1,143 @@
1
- ### 前提・実現こと
1
+ ポイントカードのポイント計算システムで、下記の2つのクラスを持つプログラムをつくろうとるんですが、以下のエラーが発生してしまい、どのように対処してよいか分かりません、、、
2
2
 
3
3
 
4
4
 
5
- public ReturnTest() {
5
+ あと、プログラムとしても、このコードで正しいのかどうかもまだ実行できていないのでわからず不安です。。
6
6
 
7
- System.out.println(this.intM());
7
+ どなたか教えていただけませんでしょうか。
8
8
 
9
- System.out.println(this.stringM());
9
+ 1つ目のクラス
10
10
 
11
- }
11
+ フィールド: 現在のポイント数
12
12
 
13
+ メソッド: 購入する商品の金額を引数として、購入後のポイントを計算するメソッド(ポイント付与率は2%)
13
14
 
15
+ 2つ目のクラス
14
16
 
15
- 戻り値無いメソッドの作成。
17
+ 1つ目クラスのフィールに、現在ポイント数を設定
16
18
 
17
- public void voidM() {
19
+ 標準入力から、購入する商品の金額を入力
18
20
 
19
- String str = "戻り値無いメソッドです。";
21
+ 1つ目クラスのメソッドを使って商品購入後のポイント数を計算し、結果を標準出力出力
20
22
 
23
+ 以下のエラーメッセージが発生しました。
24
+
25
+ ### 発生している問題・エラーメッセージ
26
+
27
+ ```
28
+
29
+ H:\>javac PointsManage.java Pointcard.java
30
+
31
+ PointsManage.java:28: エラー: 不適合な型: 精度が失われる可能性があるdoubleからin
32
+
33
+ tへの変換
34
+
35
+ finalPoint = (pt.nowPoint + pt.buyPoint) *0.02;
36
+
37
+ ^
38
+
39
+ エラー1個
40
+
41
+ H:\>
42
+
43
+ ```
44
+
45
+ ### 該当のソースコード
46
+
47
+ ```Java
48
+
49
+ 「2つ目のクラス」になります
50
+
51
+ // ポイントカードの情報を処理するクラス
52
+
53
+ import java.io.*;
54
+
55
+ import java.lang.*;
56
+
57
+ public class PointsManage {
58
+
59
+ public static void main(String[] args) {
60
+
61
+ String str;
62
+
63
+ int finalPoint,nowPoint,buyPoint;
64
+
65
+ try {
66
+
67
+ // 現在のポイント数を設定
68
+
69
+ PointCard pt = new PointCard();
70
+
71
+ pt.nowPoint = 1000;
72
+
73
+ pt.buyPoint=0;
74
+
75
+ //標準入力の準備
76
+
77
+ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
78
+
79
+ System.out.println("今回の購入金額を入力してください。");
80
+
81
+ str = reader.readLine();
82
+
83
+ buyPoint = Integer.parseInt(str);
84
+
85
+ pt.buyPoint = buyPoint; //標準入力されたポイントをポイントカードクラスのオブジェクトの「buyPoint」フィールドに代入
86
+
87
+ // ポイントカードクラスに定義されている、商品購入後のポイント数を計算するメソッドを呼び出し
88
+
89
+ finalPoint = (pt.nowPoint + pt.buyPoint) *0.02;
90
+
91
+
92
+
93
+ // 計算結果を出力
94
+
95
+ System.out.println("付与されたポイントは" + finalPoint + "ポイントです。");
96
+
97
+ }
98
+
99
+ catch(IOException e) {
100
+
21
- System.out.println(str)
101
+ System.out.println("標準入力でエラーが発生しました。");
102
+
103
+ }
104
+
105
+ }
106
+
107
+ }
108
+
109
+ ```
110
+
111
+ 以下は「1つ目のクラス」に値するコードです
112
+
113
+ // ポイントカードの情報を管理するクラス
114
+
115
+ import java.io.*;
116
+
117
+ import java.lang.*;
118
+
119
+ public class PointCard {
120
+
121
+ // str: 標準入力したもの
122
+
123
+ String str;
124
+
125
+ // studentNumber: 生徒の出席番号
126
+
127
+ int nowPoint,buyPoint;//nowPoint:現在のポイント数,buyPoint:購入金額,
128
+
129
+ int finalPoint;//finalPoint:商品購入後のポイント数を計算するメソッド
130
+
131
+ }
132
+
133
+ ### 試したこと
134
+
135
+ double型でfinalPoint,nowPoint,buyPointを定義し、strをdouble型で読み込んでも、
136
+
137
+ 上のソースコードのようにint型で定義しても上のエラーメッセージがどうしても出てしまいます・・
138
+
139
+ 小数点を含む計算の場合、int型ではダメだということでしょうか・・??
140
+
141
+ ### 補足情報(FW/ツールのバージョンなど)
142
+
143
+ ここにより詳細な情報を記載してください。

1

誤字

2018/11/27 02:48

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 不適合な型: 精度が失われる可能性があるdoubleからintへの変換のエラーについて
1
+ 不適合な型: エラー
test CHANGED
@@ -2,202 +2,20 @@
2
2
 
3
3
 
4
4
 
5
+ public ReturnTest() {
6
+
7
+ System.out.println(this.intM());
8
+
5
- ポイントカードのポイント計算システムで、下記の2つのクラスを持つプログラムをつくろうとしているんですが、以下のエラーが発生してしまい、どのように対処してよいか分かりません、、、
9
+ System.out.println(this.stringM());
10
+
11
+ }
6
12
 
7
13
 
8
14
 
9
- あと、プログラムとしても、こコーで正しいかどうかもまだ実行できていないのでわからず不安です
15
+ 戻り値無いメソッドの作成
10
16
 
11
- どなたか教えていただけませんでしょうか。
17
+ public void voidM() {
12
18
 
19
+ String str = "戻り値の無いメソッドです。";
13
20
 
14
-
15
- 1つ目のクラス
16
-
17
- フィールド: 現在のポイント数
18
-
19
- メソッド: 購入する商品の金額を引数として、購入後のポイントを計算するメソッド(ポイント付与率は2%)
20
-
21
-
22
-
23
-
24
-
25
- 2つ目のクラス
26
-
27
- 1つ目のクラスのフィールドに、現在のポイント数を設定
28
-
29
- 標準入力から、購入する商品の金額を入力
30
-
31
- 1つ目のクラスのメソッドを使って商品購入後のポイント数を計算し、結果を標準出力で出力
32
-
33
-
34
-
35
-
36
-
37
- 以下のエラーメッセージが発生しました。
38
-
39
-
40
-
41
- ### 発生している問題・エラーメッセージ
42
-
43
-
44
-
45
- ```
46
-
47
- H:\>javac PointsManage.java Pointcard.java
48
-
49
- PointsManage.java:28: エラー: 不適合な型: 精度が失われる可能性があるdoubleからin
50
-
51
- tへの変換
52
-
53
- finalPoint = (pt.nowPoint + pt.buyPoint) *0.02;
54
-
55
- ^
56
-
57
- エラー1個
58
-
59
-
60
-
61
- H:\>
62
-
63
- ```
64
-
65
-
66
-
67
- ### 該当のソースコード
68
-
69
-
70
-
71
- ```Java
72
-
73
- 「2つ目のクラス」になります
74
-
75
- // ポイントカードの情報を処理するクラス
76
-
77
-
78
-
79
- import java.io.*;
80
-
81
- import java.lang.*;
82
-
83
-
84
-
85
- public class PointsManage {
86
-
87
- public static void main(String[] args) {
88
-
89
-
90
-
91
- String str;
92
-
93
- int finalPoint,nowPoint,buyPoint;
94
-
95
-
96
-
97
- try {
98
-
99
- // 現在のポイント数を設定
100
-
101
- PointCard pt = new PointCard();
102
-
103
- pt.nowPoint = 1000;
104
-
105
- pt.buyPoint=0;
106
-
107
-
108
-
109
- //標準入力の準備
110
-
111
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
112
-
113
- System.out.println("今回の購入金額を入力してください。");
114
-
115
- str = reader.readLine();
116
-
117
- buyPoint = Integer.parseInt(str);
118
-
119
- pt.buyPoint = buyPoint; //標準入力されたポイントをポイントカードクラスのオブジェクトの「buyPoint」フィールドに代入
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
- // ポイントカードクラスに定義されている、商品購入後のポイント数を計算するメソッドを呼び出し
128
-
129
- finalPoint = (pt.nowPoint + pt.buyPoint) *0.02;
130
-
131
-
132
-
133
- // 計算結果を出力
134
-
135
- System.out.println("付与されたポイントは" + finalPoint + "ポイントです。");
136
-
137
- }
138
-
139
- catch(IOException e) {
140
-
141
- System.out.println("標準入力でエラーが発生しました。");
21
+ System.out.println(str)
142
-
143
- }
144
-
145
- }
146
-
147
- }
148
-
149
- ```
150
-
151
-
152
-
153
- 以下は「1つ目のクラス」に値するコードです
154
-
155
- // ポイントカードの情報を管理するクラス
156
-
157
-
158
-
159
- import java.io.*;
160
-
161
- import java.lang.*;
162
-
163
-
164
-
165
- public class PointCard {
166
-
167
- // str: 標準入力したもの
168
-
169
- String str;
170
-
171
- // studentNumber: 生徒の出席番号
172
-
173
- int nowPoint,buyPoint;//nowPoint:現在のポイント数,buyPoint:購入金額,
174
-
175
- int finalPoint;//finalPoint:商品購入後のポイント数を計算するメソッド
176
-
177
-
178
-
179
-
180
-
181
- }
182
-
183
-
184
-
185
-
186
-
187
- ### 試したこと
188
-
189
-
190
-
191
- double型でfinalPoint,nowPoint,buyPointを定義し、strをdouble型で読み込んでも、
192
-
193
- 上のソースコードのようにint型で定義しても上のエラーメッセージがどうしても出てしまいます・・
194
-
195
- 小数点を含む計算の場合、int型ではダメだということでしょうか・・??
196
-
197
-
198
-
199
- ### 補足情報(FW/ツールのバージョンなど)
200
-
201
-
202
-
203
- ここにより詳細な情報を記載してください。