我有一个String
数组,它既包含整数,也包含字符串。我想计算所有整数数组元素的总和。
class Array{
String container[] = {"Joe","12","Chandler","15","67","Rajat",'a'};
int sum;
for(String element:container){
int num = Integer.parseInt(element);
sum += num;
}
void print(){
System.out.print(sum);
}
}
class ArrayDemo{
public static void main(String args[]){
Array a = new Array();
a.print();
}
}
但是代码int num = Integer.parseInt(element)
给出了NumberFormatException,因为Joe
,Chandler
,Rajat
不是整数。那么,如何解决这个问题。
答案应该是12+15+67=94
提前致谢
答案 0 :(得分:2)
将您的解析包含在try catch块中
setwd("/path/to/your/files")
files <- c("mydata1.bin","mydata2.bin")
list_of_df <- lapply(files,read.delim,sep="`",stringsAsFactors=FALSE,header=FALSE)
final_df <- do.call(rbind,list_of_df)
答案 1 :(得分:-1)
您需要处理该异常:
class Array{
String container = {"Joe","12","Chandler","15","67","Rajat",'a'};
int sum;
for(String element:container){
try {
int num = Integer.parseInt(element);
catch(Exception e) {
continue;
}
sum += num;
}
void print(){
System.out.print(sum);
}
}
class ArrayDemo{
public static void main(String args[]){
Array a = new Array();
a.print();
}
}
使用try-catch
。如果发生异常,只需继续for
循环中的下一次迭代。当它是一个数字时,它将被添加到sum
。
另一种方法是检查字符串中的每个char是否为数字。这是一个很长的代码,所以使用一个现有的(你需要包含Apache Commons库):
NumberUtils.isNumber(String str)
或
StringUtils.isNumeric(String str)
如果这是真的,请将其添加到sum
。