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

質問編集履歴

1

文書の訂正

2016/08/02 09:03

投稿

091415
091415

スコア10

title CHANGED
File without changes
body CHANGED
@@ -11,69 +11,63 @@
11
11
 
12
12
 
13
13
  javaで計算機(電卓)のようなシステムを作っています。
14
- ###発生している問題・エラーメッセージ
15
14
 
16
- ```
17
- エラーメッセージ
18
- ```
19
-
20
15
  ###該当のソースコード
21
16
 
22
17
  import java.io.*;
23
18
 
24
19
  class Dentaku
25
20
  {
26
- public static void main(String[] args)throws IOException
21
+ public static void main(String[] args)throws IOException
27
- {
22
+ {
28
- BufferedReader br =
23
+ BufferedReader br =
29
- new BufferedReader(new InputStreamReader(System.in));
24
+ new BufferedReader(new InputStreamReader(System.in));
30
25
 
31
- System.out.println("計算式を入力してください。例2+3=(Enter)で計算開始。");
26
+ System.out.println("計算式を入力してください。例2+3=(Enter)で計算開始。");
32
- String input = br.readLine();
27
+ String input = br.readLine();
33
28
 
34
- //配列の宣言と要素の確保
29
+ //配列の宣言と要素の確保
35
- String sum[] = new String[input.length()];
30
+ String sum[] = new String[input.length()];
36
- String number = "";
31
+ String number = "";
37
- int s = 0;
32
+ int s = 0;
38
- int goukei =0;
33
+ int goukei =0;
39
- char enzan = ' ';
34
+ char enzan = ' ';
40
35
 
41
- //for文で繰り返し処理
36
+ //for文で繰り返し処理
42
- for(int i=0; i < input.length(); i++){
37
+ for(int i=0; i < input.length(); i++){ //文字列から1文字ずつ抽出
43
- //文字列から1文字ずつ抽出
44
- char mo = input.charAt(i);
38
+ char mo = input.charAt(i);
45
- if(i == input.length()-1){
39
+ if(i == input.length()-1){
46
- System.out.println("あああああああ" + s);
40
+ System.out.println("あああああああ" + s);
41
+ sum[s] = number;
42
+ }
43
+ else{
44
+ if(mo == '+' || mo == '-'|| mo == '*'|| mo == '/'){
45
+ //配列sumに代入??
47
46
  sum[s] = number;
48
- }
49
- else{
50
- if(mo == '+' || mo == '-'|| mo == '*'|| mo == '/'){
51
- //配列sumに代入??
52
- sum[s] = number;
53
- s++;
47
+ s++;
54
- sum[s] = String.valueOf(mo);//数値から文字列の変換
48
+ sum[s] = String.valueOf(mo);//数値から文字列の変換
55
- s++;
49
+ s++;
56
- number ="";
50
+ number ="";
57
51
  }
58
- else {
52
+ else {
59
- //変数numberにmoを代入
53
+ //変数numberにmoを代入
60
- number = number + mo;
54
+ number = number + mo;
61
- }
62
55
  }
63
56
  }
57
+ }
64
- //for文で繰り返し処理
58
+ //for文で繰り返し処理
65
- for(int j=0; j<sum.length; j++){
59
+ for(int j=0; j<sum.length; j++){
66
- if(sum[j] == null){
60
+ if(sum[j] == null){
67
- break;
61
+ break;
62
+ }
63
+ if(j == 0){
64
+ goukei = Integer.parseInt(sum[j]);
65
+ }
66
+ else{
67
+ if(sum[j].equals("*") || sum[j].equals("/")|| sum[j].equals("+")|| sum[j].equals("-")){
68
+ enzan = sum[j].charAt(0);
68
69
  }
69
- if(j == 0){
70
- goukei = Integer.parseInt(sum[j]);
71
- }
72
70
  else{
73
- if(sum[j].equals("*") || sum[j].equals("/")|| sum[j].equals("+")|| sum[j].equals("-")){
74
- enzan = sum[j].charAt(0);
75
- }
76
- else{
77
71
  //switch文で条件によって処理をコントロール
78
72
  switch(enzan){
79
73
  case '*':