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

質問編集履歴

2

不要な部分の削除

2021/12/05 10:03

投稿

AmoAmo
AmoAmo

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- Android Studioで電卓を作りたいのですが意味の分からないエラーメッセージが大量に出てしまいました。助けて下さい。
1
+ Android Studioで電卓を作りたいのですがエラーメッセージが大量に出てしまいました。
body CHANGED
File without changes

1

不要な行番号の削除

2021/12/05 10:03

投稿

AmoAmo
AmoAmo

スコア0

title CHANGED
File without changes
body CHANGED
@@ -96,168 +96,169 @@
96
96
  ### 該当のソースコード
97
97
 
98
98
  ```kotlin
99
- 1package com.example.dentaku1
99
+ package com.example.dentaku1
100
- 2
100
+
101
- 3import androidx.appcompat.app.AppCompatActivity
101
+ import androidx.appcompat.app.AppCompatActivity
102
- 4import android.os.Bundle
102
+ import android.os.Bundle
103
- 5import kotlinx.android.synthetic.main.activity_main.*
103
+ import kotlinx.android.synthetic.main.activity_main.*
104
- 6
104
+
105
- 7class MainActivity : AppCompatActivity() {
105
+ class MainActivity : AppCompatActivity() {
106
- 8
106
+
107
- 9 var nStr : String = ""
107
+ var nStr : String = ""
108
- 10 val nList = ArrayList<Double>() // arraylist to store numbers
108
+ val nList = ArrayList<Double>() // arraylist to store numbers
109
- 11 val oList = ArrayList<Char>() // arraylist to store operations
109
+ val oList = ArrayList<Char>() // arraylist to store operations
110
- 12
110
+
111
- 13 override fun onCreate(savedInstanceState: Bundle?) {
111
+ override fun onCreate(savedInstanceState: Bundle?) {
112
- 14 super.onCreate(savedInstanceState)
112
+ super.onCreate(savedInstanceState)
113
- 15 setContentView(R.layout.activity_main)
113
+ setContentView(R.layout.activity_main)
114
- 16
114
+
115
- 17 num0.setOnClickListener {
115
+ num0.setOnClickListener {
116
- 18 formula.text = "${formula.text}0"
116
+ formula.text = "${formula.text}0"
117
- 19 nStr += "0"
117
+ nStr += "0"
118
- 20 }
118
+ }
119
- 21 num1.setOnClickListener {
119
+ num1.setOnClickListener {
120
- 22 formula.text = "${formula.text}1"
120
+ formula.text = "${formula.text}1"
121
- 23 nStr += "1"
121
+ nStr += "1"
122
- 24 }
122
+ }
123
- 25 num2.setOnClickListener {
123
+ num2.setOnClickListener {
124
- 26 formula.text = "${formula.text}2"
124
+ formula.text = "${formula.text}2"
125
- 27 nStr += "2"
125
+ nStr += "2"
126
- 28 }
126
+ }
127
- 29 num3.setOnClickListener {
127
+ num3.setOnClickListener {
128
- 30 formula.text = "${formula.text}3"
128
+ formula.text = "${formula.text}3" nStr += "3"
129
- 31 nStr += "3"
130
129
  32 }
131
- 33 num4.setOnClickListener {
132
- 34 formula.text = "${formula.text}4"
133
- 35 nStr += "4"
134
- 36 }
135
- 37 num5.setOnClickListener {
136
- 38 formula.text = "${formula.text}5"
137
- 39 nStr += "5"
138
- 40 }
139
- 41 num6.setOnClickListener {
140
- 42 formula.text = "${formula.text}6"
141
- 43 nStr += "6"
142
- 44 }
143
- 45 num7.setOnClickListener {
144
- 46 formula.text = "${formula.text}7"
145
- 47 nStr += "7"
146
- 48 }
147
- 49 num8.setOnClickListener {
148
- 50 formula.text = "${formula.text}8"
149
- 51 nStr += "8"
150
- 52 }
151
- 53 num9.setOnClickListener {
152
- 54 formula.text = "${formula.text}9"
153
- 55 nStr += "9"
154
- 56 }
155
- 57 point.setOnClickListener {
156
- 58 formula.text = "${formula.text}."
157
- 59 nStr += "."
158
- 60 }
159
- 61 equal.setOnClickListener {
160
- 62 formula.text = "${formula.text}="
161
- 63 addList(nStr)
162
- 64 var result = calcualte().toString()
163
- 65 formula.text = result
164
- 66 nStr = result
165
- 67 nList.clear()
166
- 68 oList.clear()
167
- 69 }
168
- 70 add.setOnClickListener {
169
- 71 formula.text = "${formula.text}+"
170
- 72 addList(nStr,'+')
171
- 73 nStr = ""
172
- 74 }
173
- 75 subtract.setOnClickListener {
174
- 76 formula.text = "${formula.text}-"
175
- 77 addList(nStr,'-')
176
- 78 nStr = ""
177
- 79 }
178
- 80 multiply.setOnClickListener {
179
- 81 formula.text = "${formula.text}*"
180
- 82 addList(nStr,'*')
181
- 83 nStr = ""
182
- 84 }
183
- 85 divide.setOnClickListener {
184
- 86 formula.text = "${formula.text}/"
185
- 87 addList(nStr,'/')
186
- 88 nStr = ""
187
- 89 }
188
- 90 delete.setOnClickListener {
189
- 91 var formulaStr = formula.text.toString()
190
- 92 if (!formulaStr.isEmpty()) {
191
- 93 formula.text = formulaStr.subSequence(0,formulaStr.lastIndex)
192
- 94 }
193
- 95 if (!nStr.isEmpty()) {
194
- 96 nStr = nStr.substring(0, nStr.lastIndex)
195
- 97 }
196
- 98 }
197
- 99 percent.setOnClickListener {
198
- 100 formula.text = "${formula.text}%"
199
- 101 }
200
- 102 sign.setOnClickListener {
201
- 103
202
- 104 }
203
- 105 clear.setOnClickListener {
204
- 106 formula.text = ""
205
- 107 nStr = ""
206
- 108 nList.clear()
207
- 109 oList.clear()
208
- 110 }
209
- 111
210
- 112 } // end fun onCreate
211
- 113
212
- 114 fun addList(str : String, ope : Char) {
213
- 115 try {
214
- 116 var num = str.toDouble()
215
- 117 nList.add(num)
216
- 118 oList.add(ope)
217
- 119 }catch(e:Exception){
218
- 120 formula.text = "Numeric error"
219
- 121 }
220
- 122 }
221
- 123
222
- 124 fun addList(str : String) {
223
- 125 try {
224
- 126 var num = str.toDouble()
225
- 127 nList.add(num)
226
- 128 }catch(e:Exception){
227
- 129 formula.text = "Numeric error"
228
- 130 }
229
- 131 }
230
- 132
231
- 133 fun calcualte() : Double {
232
- 134
233
- 135 var i = 0
234
- 136 while (i < oList.size) {
235
- 137 //do multiplication and division first
236
- 138 if(oList.get(i) == '*' || oList.get(i) == '/') {
237
- 139 var result = if (oList.get(i) == '*') nList.get(i) * 140nList.get(i+1) else nList.get(i) / nList.get(i+1)
238
- 141 nList.set(i,result)
239
- 142 nList.removeAt(i+1)
240
- 143 oList.removeAt(i)
241
- 144 i--
242
- 145 }
243
- 146 // change subtraction to addition
244
- 147 else if(oList.get(i) == '-'){
245
- 148 oList.set(i,'+')
246
- 149 nList.set(i+1,nList.get(i+1) * -1)
247
- 150 }
248
- 151 i++
249
- 152 }
250
- 153
251
- 154 // get sum
252
- 155 var result = 0.0
253
- 156 for (i in nList){
254
- 157 result += i
255
- 158 }
256
- 159
257
- 160 return result
258
- 161 }// end fun calcualte
259
- 162
260
- 163} // end class
130
+ 3
131
+ num4.setOnClickListener {
132
+ formula.text = "${formula.text}4"
133
+ nStr += "4"
134
+ }
135
+ num5.setOnClickListener {
136
+ formula.text = "${formula.text}5"
137
+ nStr += "5"
138
+ }
139
+ num6.setOnClickListener {
140
+ formula.text = "${formula.text}6"
141
+ nStr += "6"
142
+ }
143
+ num7.setOnClickListener {
144
+ formula.text = "${formula.text}7"
145
+ nStr += "7"
146
+ }
147
+ num8.setOnClickListener {
148
+ formula.text = "${formula.text}8"
149
+ nStr += "8"
150
+ }
151
+ num9.setOnClickListener {
152
+ formula.text = "${formula.text}9"
153
+ nStr += "9"
154
+ }
155
+ point.setOnClickListener {
156
+ formula.text = "${formula.text}."
157
+ nStr += "."
158
+ }
159
+ equal.setOnClickListener {
160
+ formula.text = "${formula.text}="
161
+ addList(nStr)
162
+ var result = calcualte().toString()
163
+ formula.text = result
164
+ nStr = result
165
+ nList.clear()
166
+ oList.clear()
167
+ }
168
+ add.setOnClickListener {
169
+ formula.text = "${formula.text}+"
170
+ addList(nStr,'+')
171
+ nStr = ""
172
+ }
173
+ subtract.setOnClickListener {
174
+ formula.text = "${formula.text}-"
175
+ addList(nStr,'-')
176
+ nStr = ""
177
+ }
178
+ multiply.setOnClickListener {
179
+ formula.text = "${formula.text}*"
180
+ addList(nStr,'*')
181
+ nStr = ""
182
+ }
183
+ divide.setOnClickListener {
184
+ formula.text = "${formula.text}/"
185
+ addList(nStr,'/')
186
+ nStr = ""
187
+ }
188
+ delete.setOnClickListener {
189
+ var formulaStr = formula.text.toString()
190
+ if (!formulaStr.isEmpty()) {
191
+ formula.text = formulaStr.subSequence(0,formulaStr.lastIndex)
192
+ }
193
+ if (!nStr.isEmpty()) {
194
+ nStr = nStr.substring(0, nStr.lastIndex)
195
+ }
196
+ }
197
+ percent.setOnClickListener {
198
+ formula.text = "${formula.text}%"
199
+ }
200
+ sign.setOnClickListener {
201
+
202
+ }
203
+ clear.setOnClickListener {
204
+ formula.text = ""
205
+ nStr = ""
206
+ nList.clear()
207
+ oList.clear()
208
+ }
209
+
210
+ } // end fun onCreate
211
+
212
+ fun addList(str : String, ope : Char) {
213
+ try {
214
+ var num = str.toDouble()
215
+ nList.add(num)
216
+ oList.add(ope)
217
+ }catch(e:Exception){
218
+ formula.text = "Numeric error"
219
+ }
220
+ }
221
+
222
+ fun addList(str : String) {
223
+ try {
224
+ var num = str.toDouble()
225
+ nList.add(num)
226
+ }catch(e:Exception){
227
+ formula.text = "Numeric error"
228
+ }
229
+ }
230
+
231
+ fun calcualte() : Double {
232
+
233
+ var i = 0
234
+ while (i < oList.size) {
235
+ //do multiplication and division first
236
+ if(oList.get(i) == '*' || oList.get(i) == '/') {
237
+ var result = if (oList.get(i) == '*') nList.get(i) *
238
+ nList.get(i+1) else nList.get(i) / nList.get(i+1)
239
+ nList.set(i,result)
240
+ nList.removeAt(i+1)
241
+ oList.removeAt(i)
242
+ i--
243
+ }
244
+ // change subtraction to addition
245
+ else if(oList.get(i) == '-'){
246
+ oList.set(i,'+')
247
+ nList.set(i+1,nList.get(i+1) * -1)
248
+ }
249
+ i++
250
+ }
251
+
252
+ // get sum
253
+ var result = 0.0
254
+ for (i in nList){
255
+ result += i
256
+ }
257
+
258
+ return result
259
+ }// end fun calcualte
260
+
261
+ } // end class
261
262
  ```
262
263
 
263
264
  ### 試したこと