请大神给我解释一下下面这个JAVA语句的意思。我在用JAVA编android的计算器。
intmultiplyIndex=str.indexOf("x");intdivideIndex=str.indexOf("÷");intfirstOperationIn...
int multiplyIndex = str.indexOf("x");
int divideIndex = str.indexOf("÷");
int firstOperationIndex = -1;
if (multiplyIndex == -1) firstOperationIndex = divideIndex;
if (divideIndex == -1) firstOperationIndex = multiplyIndex;
if (firstOperationIndex == -1) firstOperationIndex = Math.min(multiplyIndex, divideIndex);
String operation = str.substring(firstOperationIndex, firstOperationIndex+1);
String leftE = str.substring(0, firstOperationIndex-1);
String rightE = str.substring(firstOperationIndex+2);
其中,str是一个字符串,如“1+4+5x3+5”之类的 展开
int divideIndex = str.indexOf("÷");
int firstOperationIndex = -1;
if (multiplyIndex == -1) firstOperationIndex = divideIndex;
if (divideIndex == -1) firstOperationIndex = multiplyIndex;
if (firstOperationIndex == -1) firstOperationIndex = Math.min(multiplyIndex, divideIndex);
String operation = str.substring(firstOperationIndex, firstOperationIndex+1);
String leftE = str.substring(0, firstOperationIndex-1);
String rightE = str.substring(firstOperationIndex+2);
其中,str是一个字符串,如“1+4+5x3+5”之类的 展开
1个回答
展开全部
简单点说 就是 找 x或÷,两个都有时 前一个 ,进行 两刀切成三段 进行分别赋值。
找到str中 x 的下标 (下标从0开始)
找到str中 ÷ 的下标
定义变量firstOperationIndex (f)//下方f指代此变量
如果str中没有 x ,f 变量值为 ÷ 的下标
如果str中没有 ÷ ,f 变量值为 x 的下标
如果str中x /÷都有,f 变量值为 ÷/x 靠前的那个下标
定义变量operation 值为: 下标从 f 开始到 f+1 的区间的内容
(str只有÷,值为÷;str只有x,值为x;str x /÷都有,值为靠前的一个;)
定义变量eftE 值为:从开头 到下标 f 前一个
(str只有÷,值为开头直到÷;str只有x,值为开头直到x;str x /÷都有,值为开头直到靠前的一个;)
定义变量rightE 值为:从下标 f 后一个到结尾
(str只有÷,值为从÷直到结尾;str只有x,值为从x直到结尾;str x /÷都有,值为从靠前的一个直到结尾;)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询