質問編集履歴

8

削除されたソースコードの復旧

2018/05/09 08:03

投稿

kykun
kykun

スコア6

test CHANGED
File without changes
test CHANGED
@@ -42,6 +42,120 @@
42
42
 
43
43
  ```ここに言語を入力
44
44
 
45
+ public class Dentaku {
46
+
47
+
48
+
49
+ public static void main(String[] args) throws IOException{
50
+
51
+ int num = 0;
52
+
53
+ String enzan = "";
54
+
55
+ String value = "";
56
+
57
+ String msg = "数値";
58
+
59
+
60
+
61
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
62
+
63
+
64
+
65
+ while(true){
66
+
67
+ System.out.println("現在の値:" + num);
68
+
69
+ System.out.println("演算子:" + enzan);
70
+
71
+ System.out.println("入力された値:" + value);
72
+
73
+ System.out.print(msg + "を入力してください >>");
74
+
75
+
76
+
77
+ String str = br.readLine();
78
+
79
+ System.out.println("");
80
+
81
+ if ("q".equals(str)) {
82
+
83
+ break; // ループの終了
84
+
85
+ }
86
+
87
+
88
+
89
+ try {
90
+
91
+ if ("数値".equals(msg)) {
92
+
93
+ num = Integer.parseInt(str);
94
+
95
+ msg = "演算子";
96
+
97
+ } else if ("演算子".equals(msg)) {
98
+
99
+ enzan = parseEnzan(str);
100
+
101
+ msg = "数値又は演算子";
102
+
103
+ } else {
104
+
105
+ if (is_enzan(str)) {
106
+
107
+ enzan = parseEnzan(str);
108
+
109
+ } else {
110
+
111
+ num = Integer.parseInt(str);
112
+
113
+ }
114
+
115
+ msg = "数値又は演算子";
116
+
117
+ }
118
+
119
+ } catch(Exception ex) {
120
+
121
+ System.out.println("# ---- エラー: " + msg + "ではありません。\n");
122
+
123
+ }
124
+
125
+ }
126
+
127
+ }
128
+
129
+ // str が演算子か否かをチェックする。
130
+
131
+ static boolean is_enzan(String str) {
132
+
133
+ if ((str.length() != 1) || ("+-*/".indexOf(str) == -1)) {
134
+
135
+ return false;
136
+
137
+ }
138
+
139
+ return true;
140
+
141
+ }
142
+
143
+
144
+
145
+ // 演算子を処理する。
146
+
147
+ // str が演算子でなければ、例外が発生する。
148
+
149
+ static String parseEnzan(String str) throws IllegalArgumentException {
150
+
151
+ if (is_enzan(str) == false) {
152
+
153
+ throw new IllegalArgumentException("演算子でありません。");
154
+
155
+ }
156
+
157
+ return str;
158
+
45
159
  }
46
160
 
47
161
  }

7

不正な編集の対応

2018/05/09 08:03

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 自己解決ました回答頂いたみなんありがとうござました
1
+ この電卓のプログラムの処理内容を詳く教えてください
test CHANGED
@@ -1,3 +1,49 @@
1
- 自己解決ました
1
+ この電卓のプログラムの処理内容を詳く教えてください。
2
2
 
3
+ 下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。is_EnzanメソッドとparseEnzanメソッドの用途も分かりません。よろしくお願いします。
4
+
3
- 回答頂いたみなさんありがとうございました
5
+ LuiS0616さん、回答ありがとうございます。編集させていただきました
6
+
7
+ このプログラムは自分で作成したものでは無くググってると出てきたものです。
8
+
9
+ 処理内容の理解を試みて
10
+
11
+ } else if ("演算子".equals(msg)) {
12
+
13
+ enzan = parseEnzan(str);
14
+
15
+ msg = "数値又は演算子";
16
+
17
+ の部分までは分かるのですが、次になぜ}else{が出てきて
18
+
19
+ その次にif~elseが出てきて
20
+
21
+ if (is_enzan(str)) {
22
+
23
+ enzan = parseEnzan(str);
24
+
25
+ } else {
26
+
27
+ num = Integer.parseInt(str);
28
+
29
+ }
30
+
31
+ msg = "数値又は演算子";
32
+
33
+ }
34
+
35
+ とコーディングしなければならないのか?が分かりません。
36
+
37
+
38
+
39
+ あとこのif ((str.length() != 1) || ("+-*/".indexOf(str) == -1))の処理内容が分かりません。教えて頂けませんか?
40
+
41
+
42
+
43
+ ```ここに言語を入力
44
+
45
+ }
46
+
47
+ }
48
+
49
+ ```

6

自己解決済み

2018/05/09 08:01

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- この電卓のプログラムの処理内容を詳く教えてください
1
+ 自己解決ました回答頂いたみなんありがとうござました
test CHANGED
@@ -1,49 +1,3 @@
1
- この電卓のプログラムの処理内容を詳く教えてください。
1
+ 自己解決ました
2
2
 
3
- 下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。is_EnzanメソッドとparseEnzanメソッドの用途も分かりません。よろしくお願いします。
4
-
5
- LuiS0616さん、回答ありがとうございます。編集させていただきました
3
+ 回答頂いたみなさんありがとうございました
6
-
7
- このプログラムは自分で作成したものでは無くググってると出てきたものです。
8
-
9
- 処理内容の理解を試みて
10
-
11
- } else if ("演算子".equals(msg)) {
12
-
13
- enzan = parseEnzan(str);
14
-
15
- msg = "数値又は演算子";
16
-
17
- の部分までは分かるのですが、次になぜ}else{が出てきて
18
-
19
- その次にif~elseが出てきて
20
-
21
- if (is_enzan(str)) {
22
-
23
- enzan = parseEnzan(str);
24
-
25
- } else {
26
-
27
- num = Integer.parseInt(str);
28
-
29
- }
30
-
31
- msg = "数値又は演算子";
32
-
33
- }
34
-
35
- とコーディングしなければならないのか?が分かりません。
36
-
37
-
38
-
39
- あとこのif ((str.length() != 1) || ("+-*/".indexOf(str) == -1))の処理内容が分かりません。教えて頂けませんか?
40
-
41
-
42
-
43
- ```ここに言語を入力
44
-
45
- }
46
-
47
- }
48
-
49
- ```

5

編集

2018/05/08 04:26

投稿

kykun
kykun

スコア6

test CHANGED
File without changes
test CHANGED
@@ -42,120 +42,6 @@
42
42
 
43
43
  ```ここに言語を入力
44
44
 
45
- コードpublic class Dentaku {
46
-
47
-
48
-
49
- public static void main(String[] args) throws IOException{
50
-
51
- int num = 0;
52
-
53
- String enzan = "";
54
-
55
- String value = "";
56
-
57
- String msg = "数値";
58
-
59
-
60
-
61
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
62
-
63
-
64
-
65
- while(true){
66
-
67
- System.out.println("現在の値:" + num);
68
-
69
- System.out.println("演算子:" + enzan);
70
-
71
- System.out.println("入力された値:" + value);
72
-
73
- System.out.print(msg + "を入力してください >>");
74
-
75
-
76
-
77
- String str = br.readLine();
78
-
79
- System.out.println("");
80
-
81
- if ("q".equals(str)) {
82
-
83
- break; // ループの終了
84
-
85
- }
86
-
87
-
88
-
89
- try {
90
-
91
- if ("数値".equals(msg)) {
92
-
93
- num = Integer.parseInt(str);
94
-
95
- msg = "演算子";
96
-
97
- } else if ("演算子".equals(msg)) {
98
-
99
- enzan = parseEnzan(str);
100
-
101
- msg = "数値又は演算子";
102
-
103
- } else {
104
-
105
- if (is_enzan(str)) {
106
-
107
- enzan = parseEnzan(str);
108
-
109
- } else {
110
-
111
- num = Integer.parseInt(str);
112
-
113
- }
114
-
115
- msg = "数値又は演算子";
116
-
117
- }
118
-
119
- } catch(Exception ex) {
120
-
121
- System.out.println("# ---- エラー: " + msg + "ではありません。\n");
122
-
123
- }
124
-
125
- }
126
-
127
- }
128
-
129
- // str が演算子か否かをチェックする。
130
-
131
- static boolean is_enzan(String str) {
132
-
133
- if ((str.length() != 1) || ("+-*/".indexOf(str) == -1)) {
134
-
135
- return false;
136
-
137
- }
138
-
139
- return true;
140
-
141
- }
142
-
143
-
144
-
145
- // 演算子を処理する。
146
-
147
- // str が演算子でなければ、例外が発生する。
148
-
149
- static String parseEnzan(String str) throws IllegalArgumentException {
150
-
151
- if (is_enzan(str) == false) {
152
-
153
- throw new IllegalArgumentException("演算子でありません。");
154
-
155
- }
156
-
157
- return str;
158
-
159
45
  }
160
46
 
161
47
  }

4

追加質問

2018/05/08 04:24

投稿

kykun
kykun

スコア6

test CHANGED
File without changes
test CHANGED
@@ -33,6 +33,10 @@
33
33
  }
34
34
 
35
35
  とコーディングしなければならないのか?が分かりません。
36
+
37
+
38
+
39
+ あとこのif ((str.length() != 1) || ("+-*/".indexOf(str) == -1))の処理内容が分かりません。教えて頂けませんか?
36
40
 
37
41
 
38
42
 

3

編集

2018/05/02 07:44

投稿

kykun
kykun

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  この電卓のプログラムの処理内容を詳しく教えてください。
2
2
 
3
- 下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。is_enzanメソッドとparse_enzanメソッドの用途も分かりません。よろしくお願いします。
3
+ 下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。is_EnzanメソッドとparseEnzanメソッドの用途も分かりません。よろしくお願いします。
4
4
 
5
5
  LuiS0616さん、回答ありがとうございます。編集させていただきました。
6
6
 

2

編集

2018/05/02 05:12

投稿

kykun
kykun

スコア6

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,43 @@
2
2
 
3
3
  下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。is_enzanメソッドとparse_enzanメソッドの用途も分かりません。よろしくお願いします。
4
4
 
5
+ LuiS0616さん、回答ありがとうございます。編集させていただきました。
6
+
7
+ このプログラムは自分で作成したものでは無くググってると出てきたものです。
8
+
9
+ 処理内容の理解を試みて
10
+
11
+ } else if ("演算子".equals(msg)) {
12
+
13
+ enzan = parseEnzan(str);
14
+
15
+ msg = "数値又は演算子";
16
+
17
+ の部分までは分かるのですが、次になぜ}else{が出てきて
18
+
19
+ その次にif~elseが出てきて
20
+
21
+ if (is_enzan(str)) {
22
+
23
+ enzan = parseEnzan(str);
24
+
25
+ } else {
26
+
27
+ num = Integer.parseInt(str);
28
+
29
+ }
30
+
31
+ msg = "数値又は演算子";
32
+
33
+ }
34
+
35
+ とコーディングしなければならないのか?が分かりません。
5
36
 
6
37
 
38
+
39
+ ```ここに言語を入力
40
+
7
- public class Dentaku {
41
+ コードpublic class Dentaku {
8
42
 
9
43
 
10
44
 
@@ -121,3 +155,5 @@
121
155
  }
122
156
 
123
157
  }
158
+
159
+ ```

1

編集

2018/05/02 05:06

投稿

kykun
kykun

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  この電卓のプログラムの処理内容を詳しく教えてください。
2
2
 
3
- 下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。なぜis_enzanメソッドとparse_enzanメソッドの用途も分かりません。よろしくお願いします。
3
+ 下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。is_enzanメソッドとparse_enzanメソッドの用途も分かりません。よろしくお願いします。
4
4
 
5
5
 
6
6