0
私はKotlinで電卓を作っていましたが、私はwhile()
で問題を解決するのに問題があります。コードのこの特定の部分では、最初の(-5)
Kotlin - while()の問題
var charay = charArrayOf('+', '-', '*', '/')
var op = 0
var reference = 0
var bol = false
while(bol == false && op != -1){
println(op)
println(bol)
println(bol == false && op != -1)
op = input.indexOfAny(charay, reference)
if (!input.get(op - 1).equals('(')){
bol = true
}else{
reference = op + 1
}
println(op)
println(bol)
println(bol == false && op != -1)
}
が通常をテストする:式中、オペレータは、私はそうのように括弧の間に示される必要がある数(または正+
オプション)-
負であるかを示すものを除外する必要があります方程式4+4
を入力し、コンソールは次のようになります。
0
false
true
1
true
false
0
false
true
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: -2
at java.lang.String.charAt(String.java:658)
at CalculatorKt.CalculateValue(Calculator.kt:67)
at CalculatorKt.CalculateValue(Calculator.kt:108)
at CalculatorKt.main(Calculator.kt:119)
私は何らかの理由で、while()
の最後に変数がリセットされていると思われていましたが、これは決して言わない理由です。while()
なぜ誰かが私に言うことができますか?
私の悪い、それでもまだこれは新しいですが、私はあなたに今必要なすべての情報を与えてくれることを願っています – Migaloco