質問するログイン新規登録

質問編集履歴

8

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

2018/05/09 08:03

投稿

kykun
kykun

スコア6

title CHANGED
File without changes
body CHANGED
@@ -20,6 +20,63 @@
20
20
  あとこのif ((str.length() != 1) || ("+-*/".indexOf(str) == -1))の処理内容が分かりません。教えて頂けませんか?
21
21
 
22
22
  ```ここに言語を入力
23
+ public class Dentaku {
24
+
25
+ public static void main(String[] args) throws IOException{
26
+ int num = 0;
27
+ String enzan = "";
28
+ String value = "";
29
+ String msg = "数値";
30
+
31
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
32
+
33
+ while(true){
34
+ System.out.println("現在の値:" + num);
35
+ System.out.println("演算子:" + enzan);
36
+ System.out.println("入力された値:" + value);
37
+ System.out.print(msg + "を入力してください >>");
38
+
39
+ String str = br.readLine();
40
+ System.out.println("");
41
+ if ("q".equals(str)) {
42
+ break; // ループの終了
43
+ }
44
+
45
+ try {
46
+ if ("数値".equals(msg)) {
47
+ num = Integer.parseInt(str);
48
+ msg = "演算子";
49
+ } else if ("演算子".equals(msg)) {
50
+ enzan = parseEnzan(str);
51
+ msg = "数値又は演算子";
52
+ } else {
53
+ if (is_enzan(str)) {
54
+ enzan = parseEnzan(str);
55
+ } else {
56
+ num = Integer.parseInt(str);
57
+ }
58
+ msg = "数値又は演算子";
59
+ }
60
+ } catch(Exception ex) {
61
+ System.out.println("# ---- エラー: " + msg + "ではありません。\n");
62
+ }
23
63
  }
64
+ }
65
+ // str が演算子か否かをチェックする。
66
+ static boolean is_enzan(String str) {
67
+ if ((str.length() != 1) || ("+-*/".indexOf(str) == -1)) {
68
+ return false;
69
+ }
70
+ return true;
71
+ }
72
+
73
+ // 演算子を処理する。
74
+ // str が演算子でなければ、例外が発生する。
75
+ static String parseEnzan(String str) throws IllegalArgumentException {
76
+ if (is_enzan(str) == false) {
77
+ throw new IllegalArgumentException("演算子でありません。");
78
+ }
79
+ return str;
80
+ }
24
81
  }
25
82
  ```

7

不正な編集の対応

2018/05/09 08:03

投稿

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

6

自己解決済み

2018/05/09 08:01

投稿

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

5

編集

2018/05/08 04:26

投稿

kykun
kykun

スコア6

title CHANGED
File without changes
body CHANGED
@@ -20,63 +20,6 @@
20
20
  あとこのif ((str.length() != 1) || ("+-*/".indexOf(str) == -1))の処理内容が分かりません。教えて頂けませんか?
21
21
 
22
22
  ```ここに言語を入力
23
- コードpublic class Dentaku {
24
-
25
- public static void main(String[] args) throws IOException{
26
- int num = 0;
27
- String enzan = "";
28
- String value = "";
29
- String msg = "数値";
30
-
31
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
32
-
33
- while(true){
34
- System.out.println("現在の値:" + num);
35
- System.out.println("演算子:" + enzan);
36
- System.out.println("入力された値:" + value);
37
- System.out.print(msg + "を入力してください >>");
38
-
39
- String str = br.readLine();
40
- System.out.println("");
41
- if ("q".equals(str)) {
42
- break; // ループの終了
43
- }
44
-
45
- try {
46
- if ("数値".equals(msg)) {
47
- num = Integer.parseInt(str);
48
- msg = "演算子";
49
- } else if ("演算子".equals(msg)) {
50
- enzan = parseEnzan(str);
51
- msg = "数値又は演算子";
52
- } else {
53
- if (is_enzan(str)) {
54
- enzan = parseEnzan(str);
55
- } else {
56
- num = Integer.parseInt(str);
57
- }
58
- msg = "数値又は演算子";
59
- }
60
- } catch(Exception ex) {
61
- System.out.println("# ---- エラー: " + msg + "ではありません。\n");
62
- }
63
23
  }
64
- }
65
- // str が演算子か否かをチェックする。
66
- static boolean is_enzan(String str) {
67
- if ((str.length() != 1) || ("+-*/".indexOf(str) == -1)) {
68
- return false;
69
- }
70
- return true;
71
- }
72
-
73
- // 演算子を処理する。
74
- // str が演算子でなければ、例外が発生する。
75
- static String parseEnzan(String str) throws IllegalArgumentException {
76
- if (is_enzan(str) == false) {
77
- throw new IllegalArgumentException("演算子でありません。");
78
- }
79
- return str;
80
- }
81
24
  }
82
25
  ```

4

追加質問

2018/05/08 04:24

投稿

kykun
kykun

スコア6

title CHANGED
File without changes
body CHANGED
@@ -17,6 +17,8 @@
17
17
  }
18
18
  とコーディングしなければならないのか?が分かりません。
19
19
 
20
+ あとこのif ((str.length() != 1) || ("+-*/".indexOf(str) == -1))の処理内容が分かりません。教えて頂けませんか?
21
+
20
22
  ```ここに言語を入力
21
23
  コードpublic class Dentaku {
22
24
 

3

編集

2018/05/02 07:44

投稿

kykun
kykun

スコア6

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

2

編集

2018/05/02 05:12

投稿

kykun
kykun

スコア6

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,24 @@
1
1
  この電卓のプログラムの処理内容を詳しく教えてください。
2
2
  下記のプログラムで} else { if (is_enzan(str)) {部分から最後までの処理内容が分かりません。is_enzanメソッドとparse_enzanメソッドの用途も分かりません。よろしくお願いします。
3
+ LuiS0616さん、回答ありがとうございます。編集させていただきました。
4
+ このプログラムは自分で作成したものでは無くググってると出てきたものです。
5
+ 処理内容の理解を試みて
6
+ } else if ("演算子".equals(msg)) {
7
+ enzan = parseEnzan(str);
8
+ msg = "数値又は演算子";
9
+ の部分までは分かるのですが、次になぜ}else{が出てきて
10
+ その次にif~elseが出てきて
11
+ if (is_enzan(str)) {
12
+ enzan = parseEnzan(str);
13
+ } else {
14
+ num = Integer.parseInt(str);
15
+ }
16
+ msg = "数値又は演算子";
17
+ }
18
+ とコーディングしなければならないのか?が分かりません。
3
19
 
20
+ ```ここに言語を入力
4
- public class Dentaku {
21
+ コードpublic class Dentaku {
5
22
 
6
23
  public static void main(String[] args) throws IOException{
7
24
  int num = 0;
@@ -59,4 +76,5 @@
59
76
  }
60
77
  return str;
61
78
  }
62
- }
79
+ }
80
+ ```

1

編集

2018/05/02 05:06

投稿

kykun
kykun

スコア6

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