Java Q:如何设置用于if条件的变量
我的代码如下所示 if或while的条件太长,所以我想使用变量作为条件 我该怎么做 我的示例代码是:Java Q:如何设置用于if条件的变量,java,android,android-studio,intellij-idea,kotlin,Java,Android,Android Studio,Intellij Idea,Kotlin,我的代码如下所示 if或while的条件太长,所以我想使用变量作为条件 我该怎么做 我的示例代码是: aTempArray.add(sInput[iStringOnPosition].toString()) // bCheckNextisDigit=true while (iStringOnPosition + 1 < sInput.length &&
aTempArray.add(sInput[iStringOnPosition].toString())
// bCheckNextisDigit=true
while (iStringOnPosition + 1 < sInput.length &&
(sInput[iStringOnPosition + 1]).isDigit() || sInput[iStringOnPosition + 1] == '.') {
aTempArray[aTempArray.size - 1] = aTempArray[aTempArray.size - 1] +
sInput[iStringOnPosition + 1]
iStringOnPosition++
}
请帮助解决此问题如果需要,可以将它们全部保存在布尔值中 像这样:
first_condition = sInput[iStringOnPosition] == ' '
second_condition = sInput[iStringOnPosition] == '-' && (iStringOnPosition == 0 || sInput[iStringOnPosition - 1] == '-' || sInput[iStringOnPosition - 1] == '+' || sInput[iStringOnPosition - 1] == '*' || sInput[iStringOnPosition - 1] == '/')
或
second_condition1 = iStringOnPosition == 0
second_condition2 = sInput[iStringOnPosition - 1] == '-'
second_condition3 = sInput[iStringOnPosition - 1] == '+'
second_condition4 = sInput[iStringOnPosition - 1] == '*'
second_condition5 = sInput[iStringOnPosition - 1] == '/'
second_conditionTotal = first_condition && (second_condition1 || second_condition2 || second_condition3 || second_condition4 || second_condition5)
我这样重写,怎么样
var blank_cond: Boolean = false
var blank_loop_cond: Boolean = false
var negertive_First_cond: Boolean = false
var negertive_sec_cond1: Boolean = false
var negertive_sec_cond2: Boolean = false
var negertive_sec_cond3: Boolean = false
var negertive_sec_cond4: Boolean = false
var negertive_sec_cond5: Boolean = false
var negertive_sec_condToT: Boolean = false
//check Blooean blank
blank_cond = sInput[iStringOnPosition] == ' '
//check Blooean negertive
negertive_First_cond = sInput[iStringOnPosition] == '-'
negertive_sec_cond1 = iStringOnPosition == 0
negertive_sec_cond2 = sInput[iStringOnPosition - 1] == '-'
negertive_sec_cond3 = sInput[iStringOnPosition - 1] == '+'
negertive_sec_cond4 = sInput[iStringOnPosition - 1] == '*'
negertive_sec_cond5 = sInput[iStringOnPosition - 1] == '/'
negertive_sec_condToT = negertive_First_cond &&
(negertive_sec_cond1 || negertive_sec_cond2 || negertive_sec_cond3 || negertive_sec_cond4 || negertive_sec_cond5)
bCheckNegative = negertive_sec_condToT
when (true) {
bCheckBlank -> {
blank_loop_cond = true
while (blank_loop_cond) {
blank_loop_cond = iStringOnPosition < sInput.length && sInput[iStringOnPosition] == ' '
iStringOnPosition++
}
}
bCheckNegative -> {
bNegativePresent = true
iStringOnPosition++
}
}
var blank\u cond:Boolean=false
var blank\u loop\u cond:Boolean=false
var negertive\u First\u cond:Boolean=false
var negertive_sec_cond1:布尔值=false
var negertive_sec_cond2:布尔值=false
var negertive_sec_cond3:布尔值=false
var negertive_sec_cond4:布尔值=false
var negertive_sec_cond5:布尔值=false
var negertive_sec_condToT:布尔值=false
//勾选空白
空白条件=输入[iStringOnPosition]=''
//检查Blooean negertive
负第一次=输入[iStringOnPosition]='-'
负第二条件1=iStringOnPosition==0
负二次条件=输入[iStringOnPosition-1]='-'
负第三方=输入[iStringOnPosition-1]=='+'
负第4条=输入[iStringOnPosition-1]='*'
负第二条件5=sInput[iStringOnPosition-1]=='/'
负第二条件=负第一条件&&
(负性第二契约1 |负性第二契约2 |负性第三|负性第四|负性第五)
b检查负性=负性条件
何时(真){
b检查单元->{
空白循环条件=真
while(空白循环条件){
blank_loop_cond=iStringOnPosition{
b负当前=真
iStringOnPosition++
}
}
我得做点什么来修复它
first_condition = sInput[iStringOnPosition] == ' '
second_condition = sInput[iStringOnPosition] == '-' && (iStringOnPosition == 0 || sInput[iStringOnPosition - 1] == '-' || sInput[iStringOnPosition - 1] == '+' || sInput[iStringOnPosition - 1] == '*' || sInput[iStringOnPosition - 1] == '/')
second_condition1 = iStringOnPosition == 0
second_condition2 = sInput[iStringOnPosition - 1] == '-'
second_condition3 = sInput[iStringOnPosition - 1] == '+'
second_condition4 = sInput[iStringOnPosition - 1] == '*'
second_condition5 = sInput[iStringOnPosition - 1] == '/'
second_conditionTotal = first_condition && (second_condition1 || second_condition2 || second_condition3 || second_condition4 || second_condition5)
var blank_cond: Boolean = false
var blank_loop_cond: Boolean = false
var negertive_First_cond: Boolean = false
var negertive_sec_cond1: Boolean = false
var negertive_sec_cond2: Boolean = false
var negertive_sec_cond3: Boolean = false
var negertive_sec_cond4: Boolean = false
var negertive_sec_cond5: Boolean = false
var negertive_sec_condToT: Boolean = false
//check Blooean blank
blank_cond = sInput[iStringOnPosition] == ' '
//check Blooean negertive
negertive_First_cond = sInput[iStringOnPosition] == '-'
negertive_sec_cond1 = iStringOnPosition == 0
negertive_sec_cond2 = sInput[iStringOnPosition - 1] == '-'
negertive_sec_cond3 = sInput[iStringOnPosition - 1] == '+'
negertive_sec_cond4 = sInput[iStringOnPosition - 1] == '*'
negertive_sec_cond5 = sInput[iStringOnPosition - 1] == '/'
negertive_sec_condToT = negertive_First_cond &&
(negertive_sec_cond1 || negertive_sec_cond2 || negertive_sec_cond3 || negertive_sec_cond4 || negertive_sec_cond5)
bCheckNegative = negertive_sec_condToT
when (true) {
bCheckBlank -> {
blank_loop_cond = true
while (blank_loop_cond) {
blank_loop_cond = iStringOnPosition < sInput.length && sInput[iStringOnPosition] == ' '
iStringOnPosition++
}
}
bCheckNegative -> {
bNegativePresent = true
iStringOnPosition++
}
}