我需要从头开始创建parseInt方法,到目前为止,我已经明白了。唯一的问题是我很难弄清楚如何找出一个int变量是否溢出或下溢,以及是否要在Java中抛出IllegalArgumentException。
为了更好地理解,这是我的任务:
创建静态方法parseInt(String),该方法将字符串转换为正值或负值的int值。当...时,方法抛出IllegalArgumentException。
这是我到目前为止所拥有的
/**
* Convert a string into an integer value
* @param str The string to be converted
* @return answer
* @throws IllegalArgumentException if answer is underflowing or overflowing
*/
public static int parseInt(String str) throws IllegalArgumentException {
int answer = 0, factor = 1;
int i = 0;
for (i = str.length()-1; i >= 0; i--) {
answer += (str.charAt(i) - '0') * factor;
factor *= 10;
}
boolean isNegative = false;
if(str.charAt(0) == '-') {
isNegative = true;
}
if (answer > Integer.MAX_VALUE) throw new IllegalArgumentException();
if (answer < Integer.MIN_VALUE) throw new IllegalArgumentException();
if (isNegative) {
answer = -answer;
}
return answer;
}
答案 0 :(得分:0)
这样做无需使用$price_array = '';
public function getPrice($crawler {
$crawler->filter('#j-sku-price')->each(function($node) {
$price = $node->text();
array_push($price_array,$price);
});
return $price_array;
}
long