質問編集履歴

4

コードを編集

2020/04/10 08:23

投稿

chimo
chimo

スコア55

test CHANGED
File without changes
test CHANGED
@@ -134,7 +134,7 @@
134
134
 
135
135
  int paycheckPerHour = 900 ;
136
136
 
137
- int paycheckPerMin = paycheckPerHour/60 ;
137
+ double paycheckPerMin = paycheckPerHour/60 ;
138
138
 
139
139
  int sum_paycheck = 0;
140
140
 

3

コード修正と新たなエラー項目の追記

2020/04/10 08:23

投稿

chimo
chimo

スコア55

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
- paycheck = Math.floor(real_wtm * paycheckPerMin) ;
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( "今月のお給料は" + sum_paycheck + "円です。" );
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
- 5 errors
353
+ 1 error
388
354
 
389
355
  ```
390
356
 
391
- この、possible lossy conversion from double to intもどういう内容のエラなの調べみまたが、英語ばっ全然わかりませんでた...。Math.floorの使い方がまちがってのかなました私がみた参考サイトは、int b = Math.floor(double a)のよう形で使われてたのでいけると思ったのですが...
357
+ sum_paycheckがスコらはずれいるということでょう?ifの外宣言、ifの中でも使い、ifの外でもつかってるというかんじです…ifの中printlnしないいけないのでしょうか

2

書式の訂正

2020/04/10 08:17

投稿

chimo
chimo

スコア55

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

コードを修正し、あらたなエラー内容を追加いたしました

2020/04/10 05:28

投稿

chimo
chimo

スコア55

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=<workingHour) && (workingHour<8)){
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=<workingHour ){
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)のような形で使われていたのでいけると思ったのですが...