【发布时间】:2014-01-05 17:11:06
【问题描述】:
我有一个名为 caseArrayList 的字符串数组列表。我在数组列表中有一些单词和一些数字......我试图从数组列表中取出数字并制作整数,以便我可以用这些数字进行一些计算。这是我的代码不起作用:
我的数组列表如下所示:打开打开打开打开打开打开打开打开我的案例 300000 100 25000 0 500 400000 100000 75000 1 5 500000 75 25 750000 1000 10 200000 400 750 22 如果我使用@ 在 for 循环中。
for (int j = 0; j < casesArrayList.size(); j++)
{
if (!casesArrayList.get(j).equals("My Case") && !casesArrayList.get(j).equals("Opened")) {
System.out.print(casesArrayList.get(j) + " ");
}
//此时输出为:300000 100 25000 0 500 400000 100000 75000 1 5 500000 75 25 750000 1000 10 200000 400 750
// 错误在下一行:
int c = (int) casesArrayList.get(j);
System.out.print(c + " ");
}
如何从数组列表中取出数字并生成变量,因为 parseInt、valueOf 或 (int) 不起作用。
我编辑了代码:
for ( int j = 0; j < casesArrayList.size(); j++) {
if (!casesArrayList.get(j).equals("My Case") && !casesArrayList.get(j).equals("Opened")) {
System.out.print(casesArrayList.get(j) + " ");
}
try {
int c = Integer.parseInt(casesArrayList.get(j));
System.out.print(casesArrayList.get(j) + " ");
} catch (Exception e) {
System.out.println(e);
}
System.out.print(c + " ");
}
错误消息仍然: 没有找到适合 parseInt(java.lang.Object) 的方法
方法 java.lang.Integer.parseInt(java.lang.String) 不适用;
http://i.stack.imgur.com/fxl0o.png
非常感谢你们,我不是 Java 专家,我犯了一些非常明显的错误,但我终于成功了……@Suresh 是对的,完美运行的代码是:
for (int j = 0; j < casesArrayList.size(); j++) {
if (!casesArrayList.get(j).equals("My Case") && !casesArrayList.get(j).equals("Opened")) {
total = total + (Integer.parseInt((String)casesArrayList.get(j)));
n = n + 1;
}
average = total / n;
}
System.out.println();
System.out.println("The total is "+ total);
System.out.println("The average is "+ average);
【问题讨论】:
-
所以它不是一个 ArrayList
,而是一个原始的 ArrayList。不要使用原始类型。您的变量类型应该是 ArrayList 。否则,您将无法了解列表中对象的类型,需要先转换它们: String s = (String) casesArrayList.get(j)。你是在哪里学习 Java 的?看起来您的老师、教程或书籍仍然像多年前一样教授 Java。 -
@JB 我刚看到你的评论,你是对的......我将编辑我的代码,现在是原始类型/......我认为是字符串数组列表,因为这个:for(int i = 0; i