【发布时间】:2013-12-30 19:57:21
【问题描述】:
我正在创建一个程序,其中用户(教师)输入一堆百分比成绩,然后对这些成绩进行分析,然后 outputBox 打印出平均值、最小值/最大值、范围以及“级别”的成绩数量R'、'Level 1'、'Level 2' 等等。
我面临的问题是将等级分为不同级别的方法。 当我尝试将数组返回到主方法并尝试将其打印到输出时,我收到数组错误,提示“找不到符号”
import java.util.Arrays.*;
public Integer[] Levels(){
Integer[] levelCount = {0,0,0,0,0};
int mark = Integer.parseInt(markInput.getText());
int i;
for (i=0; i<levelCount.length;i++ )
{
if (mark <50){
levelCount[0] = levelCount[0]+1;
}
else if ((mark >= 50) && (mark <60)){
levelCount[1] = levelCount[1]+1;
}
else if ((mark >=60) && (mark<70)){
levelCount[2] = levelCount[2]+1;
}
else if ((mark >=70)&&(mark<80)){
levelCount[3] = levelCount[3]+1;
}
else if ((mark >=80) && (mark<=100)){
levelCount[4] = levelCount[4]+1;
}
}
return levelCount;
所以,当我使用我的主要方法打印出所有信息时,我应该将 levelCount 数组放入另一个数组中,我这样做了。这是我所拥有的:
String [] level = {"\nNumber at Level R: " + Levels(levelCount[0]),
"\nNumber at Level 1: " +Levels(levelCount[1]),
"\nNumber at Level 2: " + Levels(levelCount[2]),
"\nNumber at Level 3: " + Levels(levelCount[3]),
"\nNumber at Level 4: " + Levels(levelCount[4])};
所以我的大难题是数组levelCount 显示错误'cannot find symbol'。
无论我尝试什么,我都会继续收到此错误。
我觉得答案非常明显,但是我在网上搜索了可以帮助我解决这个问题的东西,但似乎没有任何效果,我一直收到同样的错误。
【问题讨论】:
-
您使用的是什么 IDE?请显示堆栈跟踪
-
您知道
+符号,当您谈论字符串时,是连接而不是加法,对吧?所以 "0" + 1 不会产生你认为的结果。 -
你(显然)没有方法
Levels()需要一个String,当你调用Levels(levelCount[0])时,这是你正在寻找的。span> -
除非您有意构建看起来像
"0111...11"的字符串,否则levelCount[0]+1代码不会按照您的想法去做。 -
在
Levels()中检查levelCount[5] = levelCount[5]+1;这一行