質問編集履歴

15

追加

2016/10/15 13:08

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -22,6 +22,8 @@
22
22
 
23
23
  ````import java.io.BufferedReader;
24
24
 
25
+ import java.io.BufferedReader;
26
+
25
27
  import java.io.InputStreamReader;
26
28
 
27
29
  import java.util.StringTokenizer;

14

修正

2016/10/15 13:08

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- import java.io.BufferedReader;
23
+ ````import java.io.BufferedReader;
24
24
 
25
25
  import java.io.InputStreamReader;
26
26
 
@@ -211,3 +211,7 @@
211
211
  }
212
212
 
213
213
  }
214
+
215
+
216
+
217
+ ```

13

修正

2016/10/15 13:00

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- > public UsrExprException(String s){
35
+ public UsrExprException(String s){
36
36
 
37
37
  super(s);
38
38
 

12

修正

2016/10/15 12:09

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- > import java.io.BufferedReader;
23
+ import java.io.BufferedReader;
24
24
 
25
25
  import java.io.InputStreamReader;
26
26
 
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- > class UsrExprException extends Exception {
31
+ class UsrExprException extends Exception {
32
32
 
33
33
 
34
34
 

11

修正

2016/10/15 12:07

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- public UsrExprException(String s){
35
+ > public UsrExprException(String s){
36
36
 
37
37
  super(s);
38
38
 

10

修正

2016/10/15 12:07

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- class UsrExprException extends Exception {
31
+ > class UsrExprException extends Exception {
32
32
 
33
33
 
34
34
 

9

修正

2016/10/15 12:06

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  }
40
40
 
41
- }>
41
+ }
42
42
 
43
43
  //Calcクラス
44
44
 

8

追加

2016/10/15 12:05

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- import java.io.BufferedReader;
23
+ > import java.io.BufferedReader;
24
24
 
25
25
  import java.io.InputStreamReader;
26
26
 
@@ -38,176 +38,176 @@
38
38
 
39
39
  }
40
40
 
41
+ }>
42
+
43
+ //Calcクラス
44
+
45
+ public class Calc {
46
+
47
+ //メインメソッド
48
+
49
+ public static void main(String[] args) {
50
+
51
+
52
+
53
+ try {
54
+
55
+ int ans = 0;
56
+
57
+
58
+
59
+ InputStreamReader isr = new InputStreamReader(System.in);
60
+
61
+
62
+
63
+ BufferedReader br = new BufferedReader(isr);
64
+
65
+
66
+
67
+ String s = br.readLine();
68
+
69
+
70
+
71
+ while (s != null && !s.equals("")) {
72
+
73
+
74
+
75
+ Calc calc = new Calc();
76
+
77
+
78
+
79
+ ans = calc.calc(s);
80
+
81
+
82
+
83
+ System.out.println("=" + ans);
84
+
85
+
86
+
87
+ s = br.readLine()
88
+
89
+ }
90
+
91
+
92
+
93
+ } catch (Exception e) {
94
+
95
+
96
+
97
+ System.out.println("例外:"+ e);
98
+
99
+ }
100
+
101
+ }
102
+
103
+
104
+
105
+ public int calc(String s) throws UsrExprException {
106
+
107
+
108
+
109
+ UsrExprException ue;
110
+
111
+
112
+
113
+ int ans = 0;
114
+
115
+
116
+
117
+ StringTokenizer st = new StringTokenizer(s, "+-*/", true);
118
+
119
+
120
+
121
+ String sign = "+";
122
+
123
+
124
+
125
+ String tok ;
126
+
127
+ int tknum = 0;
128
+
129
+
130
+
131
+ while (st.hasMoreTokens()) {
132
+
133
+
134
+
135
+ tok = st.nextToken();
136
+
137
+
138
+
139
+ tok = tok.trim();
140
+
141
+
142
+
143
+ if (tok.length() == 0) {
144
+
145
+
146
+
147
+ continue;
148
+
149
+ }
150
+
151
+
152
+
153
+ if (tknum % 2 == 0) {
154
+
155
+
156
+
157
+ if (sign.equals("+")) {
158
+
159
+
160
+
161
+ ans += Integer.parseInt(tok);
162
+
163
+ }
164
+
165
+ else if (sign.equals("-")) {
166
+
167
+ ans -= Integer.parseInt(tok);
168
+
169
+ }
170
+
171
+ else if (sign.equals("*")) {
172
+
173
+ ans *= Integer.parseInt(tok);
174
+
175
+ }
176
+
177
+ else if (sign.equals("/")) {
178
+
179
+ ans /= Integer.parseInt(tok);
180
+
181
+ }
182
+
183
+ } else {
184
+
185
+
186
+
187
+ sign = tok;
188
+
189
+ }
190
+
191
+
192
+
193
+ tknum++;
194
+
195
+ }
196
+
197
+ //式の最後が整数でない場合
198
+
199
+ if ( tknum % 2 == 0) {
200
+
201
+ ue = new UsrExprException("最終整数なし");
202
+
203
+ throw ue;
204
+
205
+ }
206
+
207
+ //ansを返す
208
+
209
+ return ans;
210
+
211
+ }
212
+
41
213
  }
42
-
43
- //Calcクラス
44
-
45
- public class Calc {
46
-
47
- //メインメソッド
48
-
49
- public static void main(String[] args) {
50
-
51
-
52
-
53
- try {
54
-
55
- int ans = 0;
56
-
57
-
58
-
59
- InputStreamReader isr = new InputStreamReader(System.in);
60
-
61
-
62
-
63
- BufferedReader br = new BufferedReader(isr);
64
-
65
-
66
-
67
- String s = br.readLine();
68
-
69
-
70
-
71
- while (s != null && !s.equals("")) {
72
-
73
-
74
-
75
- Calc calc = new Calc();
76
-
77
-
78
-
79
- ans = calc.calc(s);
80
-
81
-
82
-
83
- System.out.println("=" + ans);
84
-
85
-
86
-
87
- s = br.readLine()
88
-
89
- }
90
-
91
-
92
-
93
- } catch (Exception e) {
94
-
95
-
96
-
97
- System.out.println("例外:"+ e);
98
-
99
- }
100
-
101
- }
102
-
103
-
104
-
105
- public int calc(String s) throws UsrExprException {
106
-
107
-
108
-
109
- UsrExprException ue;
110
-
111
-
112
-
113
- int ans = 0;
114
-
115
-
116
-
117
- StringTokenizer st = new StringTokenizer(s, "+-*/", true);
118
-
119
-
120
-
121
- String sign = "+";
122
-
123
-
124
-
125
- String tok ;
126
-
127
- int tknum = 0;
128
-
129
-
130
-
131
- while (st.hasMoreTokens()) {
132
-
133
-
134
-
135
- tok = st.nextToken();
136
-
137
-
138
-
139
- tok = tok.trim();
140
-
141
-
142
-
143
- if (tok.length() == 0) {
144
-
145
-
146
-
147
- continue;
148
-
149
- }
150
-
151
-
152
-
153
- if (tknum % 2 == 0) {
154
-
155
-
156
-
157
- if (sign.equals("+")) {
158
-
159
-
160
-
161
- ans += Integer.parseInt(tok);
162
-
163
- }
164
-
165
- else if (sign.equals("-")) {
166
-
167
- ans -= Integer.parseInt(tok);
168
-
169
- }
170
-
171
- else if (sign.equals("*")) {
172
-
173
- ans *= Integer.parseInt(tok);
174
-
175
- }
176
-
177
- else if (sign.equals("/")) {
178
-
179
- ans /= Integer.parseInt(tok);
180
-
181
- }
182
-
183
- } else {
184
-
185
-
186
-
187
- sign = tok;
188
-
189
- }
190
-
191
-
192
-
193
- tknum++;
194
-
195
- }
196
-
197
- //式の最後が整数でない場合
198
-
199
- if ( tknum % 2 == 0) {
200
-
201
- ue = new UsrExprException("最終整数なし");
202
-
203
- throw ue;
204
-
205
- }
206
-
207
- //ansを返す
208
-
209
- return ans;
210
-
211
- }
212
-
213
- }

7

修正

2016/10/15 12:04

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- > import java.io.BufferedReader;
23
+ import java.io.BufferedReader;
24
24
 
25
25
  import java.io.InputStreamReader;
26
26
 
@@ -210,4 +210,4 @@
210
210
 
211
211
  }
212
212
 
213
- }>
213
+ }

6

修正

2016/10/15 12:01

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,9 @@
18
18
 
19
19
 
20
20
 
21
+
22
+
21
- import java.io.BufferedReader;
23
+ > import java.io.BufferedReader;
22
24
 
23
25
  import java.io.InputStreamReader;
24
26
 
@@ -208,4 +210,4 @@
208
210
 
209
211
  }
210
212
 
211
- }
213
+ }>

5

誤字

2016/10/15 12:00

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- > 引用テキストimport java.io.BufferedReader;
21
+ import java.io.BufferedReader;
22
22
 
23
23
  import java.io.InputStreamReader;
24
24
 
@@ -208,4 +208,4 @@
208
208
 
209
209
  }
210
210
 
211
- }> 引用テキスト
211
+ }

4

修正

2016/10/15 11:46

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  よろしくお願いします。
12
12
 
13
-
13
+
14
14
 
15
15
  また下記のソースコードで改正案があればご教授願います。
16
16
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- import java.io.BufferedReader;
21
+ > 引用テキストimport java.io.BufferedReader;
22
22
 
23
23
  import java.io.InputStreamReader;
24
24
 
@@ -208,4 +208,4 @@
208
208
 
209
209
  }
210
210
 
211
- }
211
+ }> 引用テキスト

3

追加

2016/10/15 11:45

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -12,6 +12,10 @@
12
12
 
13
13
 
14
14
 
15
+ また下記のソースコードで改正案があればご教授願います。
16
+
17
+ よろしくお願いします。
18
+
15
19
 
16
20
 
17
21
  import java.io.BufferedReader;

2

追加

2016/10/15 11:08

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,11 @@
6
6
 
7
7
  どのように修正したらよいでしょうか?
8
8
 
9
-
9
+ 今後の参考の為にどなたか教えてください
10
+
11
+ よろしくお願いします。
12
+
13
+
10
14
 
11
15
 
12
16
 

1

誤字

2016/10/15 11:05

投稿

Oracle
Oracle

スコア13

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  javaで計算機のプログラムを作成しました。
2
2
 
3
- 単項マイナス演算(例、10+5)を行う処理を追加したいのですが
3
+ 単項マイナス演算(例、-10+5)を行う処理を追加したいのですが
4
4
 
5
5
  修正方法がわかりません。
6
6