質問編集履歴

3

サンプルコードの修正

2018/04/11 02:21

投稿

yuki8
yuki8

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,8 @@
1
- 先ほどのコードはこちらの思い違いだったのでこちらのエラーについて質問させていただきます。
1
+ 先ほどのコードはこちらの思い違いだったので(通常通り動くのに間違った結果を記載しておりました。)こちらのエラーについて質問させていただきます。
2
2
 
3
3
 
4
4
 
5
5
  ```ここに言語を入力
6
-
7
- // 標準入力から2次元配列
8
6
 
9
7
  import java.util.*;
10
8
 

2

原因究明ができなかったのでコードを貼らせていただきました。

2018/04/11 02:21

投稿

yuki8
yuki8

スコア11

test CHANGED
@@ -1 +1 @@
1
- javaで入力された文字列に該当文字が含まれていれば結果を出力するプログラムの際に出るエラー
1
+ javaで入力された文字列に該当文字が含まれていれば結果を出力するプログラムの際に出る警告
test CHANGED
@@ -2,11 +2,149 @@
2
2
 
3
3
 
4
4
 
5
+ ```ここに言語を入力
6
+
7
+ // 標準入力から2次元配列
8
+
5
- コードは著作権の関係で晴れませんが、
9
+ import java.util.*;
10
+
11
+ import java.util.Scanner;
12
+
13
+ import java.math.BigDecimal;
6
14
 
7
15
 
8
16
 
17
+ public class Main {
18
+
19
+ public static void main(String[] args) {
20
+
21
+
22
+
23
+ Scanner sc = new Scanner(System.in);
24
+
25
+
26
+
27
+ //入力個数
28
+
29
+ String line1 = sc.nextLine();
30
+
31
+ int n = Integer.parseInt(line1);
32
+
33
+
34
+
35
+ //初期値
36
+
37
+ Double [] ipaper;
38
+
39
+ ipaper = new Double[2];
40
+
41
+ String [] paper;
42
+
43
+ paper = new String[2];
44
+
45
+ int answer = 0;
46
+
47
+ BigDecimal sum;
48
+
49
+
50
+
51
+ sum = BigDecimal.ZERO;
52
+
53
+ // valueOfメソッドを使用して初期化
54
+
55
+ sum = BigDecimal.valueOf(0.0);
56
+
57
+
58
+
59
+ // コンストラクタで初期化
60
+
61
+ sum = new BigDecimal(0.0);
62
+
63
+
64
+
65
+ //入力個数まで
66
+
67
+ for(int i = 0; i < n; i++){
68
+
69
+ String line2 = sc.nextLine();
70
+
71
+ paper = line2.split(" ");
72
+
73
+
74
+
75
+ for(int j = 0; j < 2; j++) {
76
+
77
+
78
+
79
+ ipaper [j] = Double.parseDouble(paper[j]);
80
+
81
+ }
82
+
83
+
84
+
85
+ //初期化
86
+
87
+ int result = 0;
88
+
89
+ double zyosu = 0.01;
90
+
91
+
92
+
93
+
94
+
95
+ //3のつく場合
96
+
97
+ result = paper[0].indexOf("3");
98
+
99
+ if (result != -1) {
100
+
101
+ zyosu = 0.03;
102
+
103
+ }
104
+
105
+ //5のつく場合
106
+
107
+ result = paper[0].indexOf("5");
108
+
109
+ if (result != -1) {
110
+
111
+ zyosu = 0.05;
112
+
113
+ }
114
+
115
+ //System.out.println(result);
116
+
117
+ BigDecimal rate = new BigDecimal(zyosu);
118
+
119
+ BigDecimal unit = new BigDecimal(ipaper[1]);
120
+
121
+ //System.out.println(rate);
122
+
123
+ unit = unit.multiply(rate);
124
+
125
+
126
+
127
+ sum = sum.add(unit);
128
+
129
+
130
+
131
+ sum = sum.setScale(0, BigDecimal.ROUND_DOWN);
132
+
133
+ }
134
+
135
+ System.out.println(sum);
136
+
137
+ }
138
+
139
+ }
140
+
141
+ ```
142
+
143
+
144
+
145
+ こちらの実行時に
146
+
9
- こちらのエラーが出る場合の考えうる原因を教えていただけいでしょうか?
147
+ こちらの警告が出る場合の該当クラスが1つずつ実行してみてもわかりません。原因の部分を教えていただけると幸いです。
10
148
 
11
149
  Note: Main.java uses or overrides a deprecated API.
12
150
 

1

コードに関してはこちらの勘違いでしたのでこちらのエラーについて質問させていただきます。

2018/04/11 01:48

投稿

yuki8
yuki8

スコア11

test CHANGED
@@ -1 +1 @@
1
- javaで入力された文字列に該当文字が含まれていれば結果を出力するプログラムが動きません。
1
+ javaで入力された文字列に該当文字が含まれていれば結果を出力するプログラムの際に出るエラー文
test CHANGED
@@ -1,88 +1,12 @@
1
- 思い通りにの動作をしないので質問させていただきます。
1
+ 先ほどのコードはこちらの思いだったのでこちらのエラーについて質問させていただきます。
2
2
 
3
3
 
4
4
 
5
- プログラムを正常に動作しない部分を抜き出しした。
5
+ コードは著作権関係で晴れせんが、
6
6
 
7
7
 
8
8
 
9
-
10
-
11
- ```lang-java
12
-
13
- import java.util.*;
14
-
15
- import java.util.Scanner;
16
-
17
- public class Main {
18
-
19
- public static void main(String[] args) {
20
-
21
-
22
-
23
- Scanner sc = new Scanner(System.in);
24
-
25
-
26
-
27
- //入力個数
28
-
29
- String line = sc.nextLine();
30
-
31
-
32
-
33
-
34
-
35
- //初期化
36
-
37
- int hantei = 0;
38
-
39
-
40
-
41
- //3のつく日なら
42
-
43
- hantei = line.indexOf("3");
44
-
45
- if (hantei != -1) {
46
-
47
- System.out.println("3が該当しています");
48
-
49
- }
50
-
51
- //5のつく日なら こちらだけ反映
52
-
53
- hantei = line.indexOf("5");
54
-
55
- if (hantei != -1) {
56
-
57
- System.out.println("5が該当しています");
58
-
59
- } else {
60
-
61
- System.out.println("該当なし");
9
+ こちらのエラーが出る場合の考えうる原因を教えていただけいでょうか?
62
-
63
- }
64
-
65
- }
66
-
67
- }
68
-
69
- ```
70
-
71
-
72
-
73
- このような入力した値が 3か5を含んでいれば該当すると表示しなければ該当なしというプログラムを
74
-
75
- 書いているのですが、なぜか
76
-
77
- 3や5を入力しても該当無しとなったり逆に5だけ該当していますと出てしまい正常な動作をしません。
78
-
79
- 3の時も該当なしと出るのは無視してます。
80
-
81
-
82
-
83
- それとここのプログラム部分だけでは警告は出ないのですが以下のような警告が出てしまうのですが考えられる原因というのは何がありますでしょうか?
84
-
85
-
86
10
 
87
11
  Note: Main.java uses or overrides a deprecated API.
88
12