Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Q:如何设置用于if条件的变量_Java_Android_Android Studio_Intellij Idea_Kotlin - Fatal编程技术网

Java Q:如何设置用于if条件的变量

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 &&

我的代码如下所示 if或while的条件太长,所以我想使用变量作为条件 我该怎么做

我的示例代码是:

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++
        }
    }