java - 您可以将字符串数组列表中的元素传递给函数吗?
问题描述
我创建了一个函数,它读取文件并将每一行放入一个大小为 8 的数组中,然后将该数组添加到数组列表中。然后,我每行取每个值并尝试将它们传递给函数,但由于某种原因,我得到了空指针异常。是因为我使用的是arraylist吗?如果我通过控制台传递参数,函数本身就可以工作。我正在尝试获取字符串并将它们传递给函数。例如: dep(eachLine.get(0)[1]) 不起作用。我什至为每个插槽创建了 get 函数,并将它们放在一个带有嵌套循环的循环中,以尝试提取值,但它不起作用。
public void readFile(String x) throws IOException{
File file = new File(x);
BufferedReader br = new BufferedReader(new FileReader(file));
String str="";
while((str = br.readLine())!= null)
{
String line[] = new String[8];
int count =0;
StringTokenizer token = new StringTokenizer(str,",");
while(token.hasMoreTokens())
{
line[count]= token.nextToken();
count++;
}
eachLine.add(line);
}
}
public int getAccountInt(int i){
//readFile(x);
return Integer.parseInt(eachLine.get(i)[4]);
}
public String getName(int i){
//readFile(x);
return eachLine.get(i)[1];
}
public int getSSNUM(int i){
//readFile(x);
return Integer.parseInt(eachLine.get(i)[2]);
}
public String getAddress(int i){
//readFile(x);
return eachLine.get(i)[3];
}
public int getCCAccountInt(int i){
//readFile(x);
return Integer.parseInt(eachLine.get(i)[6]);
}
public double getDepositInt(int i){
//readFile(x);
return Double.parseDouble(eachLine.get(i)[5]);
}
public double getCreditInt(int i){
//readFile(x);
return Double.parseDouble(eachLine.get(i)[7]);
}
public String getCommand(int i){
//readFile(x);
return eachLine.get(i)[0];
}
这是主要的
x.readFile("today.txt"); System.out.println(x.eachLine.get(0)[4]);
for(int i =0;i<x.eachLine.size();i++){
String f = x.getCommand(i);
String s = x.getName(i);
int a = x.getSSNUM(i);
String t = x.getAddress(i);
int b = x.getAccountInt(i);
double d = x.getDepositInt(i);
int c = x.getCCAccountInt(i);
double e = x.getCreditInt(i);
if(f.equals("ONA")){
db.createAll(s, a, t, b, d, c, e);
}
}
解决方案
推荐阅读
- python - 为什么除第一个(截距)之外的所有系数在 OLS 回归模型中都获得非常接近零(e^-17 或低)的值?
- python - 您可以在 TSFRESH 中为单个列 ID 输入多个时间序列数据集吗
- c# - 组合字符串时方法语法中的 Where 子句失败
- android - 无法将值插入 SQLite 表
- node.js - 如何在 Telegraf.js 上使用后退按钮
- c - C中“)”标记之前的错误预期表达式
- javascript - 从文本字段中提取字符
- vim - 你能告诉我如何退出 VIM quickfix 吗?请
- gtk - 将一个小的 gtk3 样本从 gtk 3.18 迁移到 gtk 3.22
- php - 无法在 swift mailer 中循环超过 30 次