質問編集履歴
4
コードを編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -134,7 +134,7 @@
|
|
134
134
|
|
135
135
|
int paycheckPerHour = 900 ;
|
136
136
|
|
137
|
-
|
137
|
+
double paycheckPerMin = paycheckPerHour/60 ;
|
138
138
|
|
139
139
|
int sum_paycheck = 0;
|
140
140
|
|
3
コード修正と新たなエラー項目の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,18 +24,6 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
/*
|
28
|
-
|
29
|
-
* WorkingResult.csv(一か月分の勤務実績ファイル)を読み込み、各日の労働時間を計算して出力する処理です。
|
30
|
-
|
31
|
-
* このサンプルではWorkingResult.csvを「C:\WorkSpace」直下に配置して実行する前提になっています。
|
32
|
-
|
33
|
-
* ディレクトリの名前や配置場所が違う場合は WORKING_RESULT_FILE_PATH の値を適切なものに変更してください。
|
34
|
-
|
35
|
-
*/
|
36
|
-
|
37
|
-
|
38
|
-
|
39
27
|
public class ReadFileSample {
|
40
28
|
|
41
29
|
public static void main(String[] args) {
|
@@ -156,7 +144,7 @@
|
|
156
144
|
|
157
145
|
real_wtm = day_wtm - 45 ;
|
158
146
|
|
159
|
-
paycheck = Math.floor(real_wtm * paycheckPerMin) ;
|
147
|
+
paycheck = (int)Math.floor(real_wtm * paycheckPerMin) ;
|
160
148
|
|
161
149
|
|
162
150
|
|
@@ -170,13 +158,13 @@
|
|
170
158
|
|
171
159
|
int zngy_min = real_wtm - 8*60 ;
|
172
160
|
|
173
|
-
paycheck = Math.floor( 8*60*paycheckPerMin ) + Math.floor( zngy_min*paycheckPerMin*1.25 ) ;
|
161
|
+
paycheck = (int)Math.floor( 8*60*paycheckPerMin ) + (int)Math.floor( zngy_min*paycheckPerMin*1.25 ) ;
|
174
162
|
|
175
163
|
|
176
164
|
|
177
165
|
}else{
|
178
166
|
|
179
|
-
paycheck = Math.floor( real_wtm*paycheckPerMin ) ;
|
167
|
+
paycheck = (int)Math.floor( real_wtm*paycheckPerMin ) ;
|
180
168
|
|
181
169
|
}
|
182
170
|
|
@@ -186,7 +174,7 @@
|
|
186
174
|
|
187
175
|
real_wtm = day_wtm ;
|
188
176
|
|
189
|
-
paycheck = Math.floor(real_wtm * paycheckPerMin) ;
|
177
|
+
paycheck = (int)Math.floor(real_wtm * paycheckPerMin) ;
|
190
178
|
|
191
179
|
}
|
192
180
|
|
@@ -350,42 +338,20 @@
|
|
350
338
|
|
351
339
|
```plane text
|
352
340
|
|
353
|
-
ReadFileSample.java:77: error: incompatible types: possible lossy conversion from double to int
|
354
|
-
|
355
|
-
|
341
|
+
C:\WorkSpace\Java.El\Practice\Test2>javac ReadFileSample.java
|
356
|
-
|
357
|
-
^
|
358
|
-
|
359
|
-
ReadFileSample.java:84: error: incompatible types: possible lossy conversion from double to int
|
360
|
-
|
361
|
-
paycheck = Math.floor( 8*60*paycheckPerMin ) + Math.floor( zngy_min*paycheckPerMin*1.25 ) ;
|
362
|
-
|
363
|
-
^
|
364
|
-
|
365
|
-
ReadFileSample.java:87: error: incompatible types: possible lossy conversion from double to int
|
366
|
-
|
367
|
-
paycheck = Math.floor( real_wtm*paycheckPerMin ) ;
|
368
|
-
|
369
|
-
^
|
370
|
-
|
371
|
-
ReadFileSample.java:92: error: incompatible types: possible lossy conversion from double to int
|
372
|
-
|
373
|
-
paycheck = Math.floor(real_wtm * paycheckPerMin) ;
|
374
|
-
|
375
|
-
^
|
376
342
|
|
377
343
|
ReadFileSample.java:99: error: cannot find symbol
|
378
344
|
|
379
|
-
System.out.println(
|
345
|
+
System.out.println("今月のお給料は" + sum_paycheck + "円です。");
|
380
|
-
|
346
|
+
|
381
|
-
|
347
|
+
^
|
382
348
|
|
383
349
|
symbol: variable sum_paycheck
|
384
350
|
|
385
351
|
location: class ReadFileSample
|
386
352
|
|
387
|
-
|
353
|
+
1 error
|
388
354
|
|
389
355
|
```
|
390
356
|
|
391
|
-
|
357
|
+
sum_paycheckがスコープからはずれているということでしょうか?ifの外で宣言し、ifの中でも使い、ifの外でもつかってる…というかんじですが…ifの中でprintlnしないといけないのでしょうか
|
2
書式の訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -348,7 +348,7 @@
|
|
348
348
|
|
349
349
|
ご指摘いただいた点を全て修正いたしましたところ、新たに以下のようなエラーがでてきました。また、上記のプログラミングコードも編集してご指摘いただいた点をなおした状態にしております。
|
350
350
|
|
351
|
-
|
351
|
+
```plane text
|
352
352
|
|
353
353
|
ReadFileSample.java:77: error: incompatible types: possible lossy conversion from double to int
|
354
354
|
|
@@ -386,6 +386,6 @@
|
|
386
386
|
|
387
387
|
5 errors
|
388
388
|
|
389
|
-
|
389
|
+
```
|
390
390
|
|
391
391
|
この、possible lossy conversion from double to intもどういう内容のエラーなのか調べてみましたが、英語ばっかりで全然わかりませんでした...。Math.floorの使い方がまちがっているのかなと思いましたが私がみた参考サイトでは、int b = Math.floor(double a)のような形で使われていたのでいけると思ったのですが...
|
1
コードを修正し、あらたなエラー内容を追加いたしました
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,12 +24,26 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
+
/*
|
28
|
+
|
29
|
+
* WorkingResult.csv(一か月分の勤務実績ファイル)を読み込み、各日の労働時間を計算して出力する処理です。
|
30
|
+
|
31
|
+
* このサンプルではWorkingResult.csvを「C:\WorkSpace」直下に配置して実行する前提になっています。
|
32
|
+
|
33
|
+
* ディレクトリの名前や配置場所が違う場合は WORKING_RESULT_FILE_PATH の値を適切なものに変更してください。
|
34
|
+
|
35
|
+
*/
|
36
|
+
|
37
|
+
|
38
|
+
|
27
39
|
public class ReadFileSample {
|
28
40
|
|
29
41
|
public static void main(String[] args) {
|
30
42
|
|
31
43
|
|
32
44
|
|
45
|
+
// WorkingResult.csvのパス ※「C:\WorkSpace」直下に配置していない場合は適宜変更してください。
|
46
|
+
|
33
47
|
final String WORKING_RESULT_FILE_PATH = "C:\WorkSpace\Java.El\Practice\Test2\WorkingResult.csv";
|
34
48
|
|
35
49
|
// コンマ
|
@@ -134,9 +148,11 @@
|
|
134
148
|
|
135
149
|
int paycheckPerMin = paycheckPerHour/60 ;
|
136
150
|
|
137
|
-
|
151
|
+
int sum_paycheck = 0;
|
138
|
-
|
152
|
+
|
153
|
+
|
154
|
+
|
139
|
-
if((6=
|
155
|
+
if((6<=workingHour) && (workingHour<8)){
|
140
156
|
|
141
157
|
real_wtm = day_wtm - 45 ;
|
142
158
|
|
@@ -144,7 +160,7 @@
|
|
144
160
|
|
145
161
|
|
146
162
|
|
147
|
-
}else if( 8=
|
163
|
+
}else if( 8<=workingHour ){
|
148
164
|
|
149
165
|
real_wtm = day_wtm - 60 ;
|
150
166
|
|
@@ -325,3 +341,51 @@
|
|
325
341
|
ーーーーーーーーーーーーーーーーーーーーーーーーーー
|
326
342
|
|
327
343
|
このうち、 illegal escape characterと<identifier> expectedとが、エラー内容をしらべてもほとんどが英語で出てきてしまうので、よくわかりませんでした。どういうエラーなのでしょうか?どなたか教えていただければうれしいです。
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
【追記】
|
348
|
+
|
349
|
+
ご指摘いただいた点を全て修正いたしましたところ、新たに以下のようなエラーがでてきました。また、上記のプログラミングコードも編集してご指摘いただいた点をなおした状態にしております。
|
350
|
+
|
351
|
+
【新しいエラー】------------------------
|
352
|
+
|
353
|
+
ReadFileSample.java:77: error: incompatible types: possible lossy conversion from double to int
|
354
|
+
|
355
|
+
paycheck = Math.floor(real_wtm * paycheckPerMin) ;
|
356
|
+
|
357
|
+
^
|
358
|
+
|
359
|
+
ReadFileSample.java:84: error: incompatible types: possible lossy conversion from double to int
|
360
|
+
|
361
|
+
paycheck = Math.floor( 8*60*paycheckPerMin ) + Math.floor( zngy_min*paycheckPerMin*1.25 ) ;
|
362
|
+
|
363
|
+
^
|
364
|
+
|
365
|
+
ReadFileSample.java:87: error: incompatible types: possible lossy conversion from double to int
|
366
|
+
|
367
|
+
paycheck = Math.floor( real_wtm*paycheckPerMin ) ;
|
368
|
+
|
369
|
+
^
|
370
|
+
|
371
|
+
ReadFileSample.java:92: error: incompatible types: possible lossy conversion from double to int
|
372
|
+
|
373
|
+
paycheck = Math.floor(real_wtm * paycheckPerMin) ;
|
374
|
+
|
375
|
+
^
|
376
|
+
|
377
|
+
ReadFileSample.java:99: error: cannot find symbol
|
378
|
+
|
379
|
+
System.out.println( "今月のお給料は" + sum_paycheck + "円です。" );
|
380
|
+
|
381
|
+
^
|
382
|
+
|
383
|
+
symbol: variable sum_paycheck
|
384
|
+
|
385
|
+
location: class ReadFileSample
|
386
|
+
|
387
|
+
5 errors
|
388
|
+
|
389
|
+
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|
390
|
+
|
391
|
+
この、possible lossy conversion from double to intもどういう内容のエラーなのか調べてみましたが、英語ばっかりで全然わかりませんでした...。Math.floorの使い方がまちがっているのかなと思いましたが私がみた参考サイトでは、int b = Math.floor(double a)のような形で使われていたのでいけると思ったのですが...
|