计算器类错误检查

时间:2015-05-13 15:23:33

标签: java string parsing

我正在为BigInteger Calculator类做一些错误检查。如果输入在数字之间有空格,并且在这些数字之间没有有效的运算符(+, - ,*,/,%,^),那么它应该返回"错误"。有没有办法使用字符串方法检查这种情况?

应该返回错误,因为数字之间有空格而且它们之间没有操作符:

  

2 + 1 1 1 1 1 + 2 //在这种情况下,1' s之间没有运算符

     

2 2 2 //介于

之间

有效的:

  

2 + 2

     

22 + 2 + 1

     

2 + 11111 + 2

3 个答案:

答案 0 :(得分:0)

一种选择是使用String[] temp = [stringName].split(" ");拆分字符串,并检查每个其他索引是否是有效的运算符。

答案 1 :(得分:0)

也许您可以使用正则表达式在数字之间找到空格。

class LeftImageAlignedButton : UIButton {

var imageLeftInset : CGFloat = 10.0

override func layoutSubviews() {
    super.layoutSubviews()
    self.contentHorizontalAlignment = .Left
    if let font = titleLabel?.font {
        let textWidth = ((titleForState(state) ?? "") as NSString).sizeWithAttributes([NSFontAttributeName:font]).width
        let imageWidth = imageForState(state)?.size.width ?? 0.0
        imageEdgeInsets = UIEdgeInsets(top: 0, left: imageLeftInset, bottom: 0, right: 0)
        titleEdgeInsets = UIEdgeInsets(top: 0, left: bounds.width/2 - textWidth/2.0 - imageWidth, bottom: 0, right: 0)
    }
}
}

答案 2 :(得分:0)

您不需要专门找到数字之间的空格。事实上,除了分隔标记之外,你应该完全忽略空格。

您只需要根据没有两个连续数字语法的语法进行扫描和解析。或运营商。在任何给定的点上,你应该知道什么是预期的,什么不是。