当前位置: 首页 > 知识库问答 >
问题:

返回数组时,出现“找不到符号”错误

谭繁
2023-03-14

我正在创建一个程序,用户(教师)在其中输入一组百分比分数,并对这些分数进行分析,输出框打印出平均值、最小值/最大值、范围和“R级”、“1级”、“2级”等分数。

我面临的问题是将分数分为不同级别的方法。当我尝试将数组返回到main方法,并尝试将其打印到输出时,我得到了一个数组错误,即“找不到符号”

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])};

所以我的大难题是数组level Count显示错误'无法找到符号'。无论我尝试什么,我都会继续得到这个错误。

我觉得答案是非常明显的,但我在网上搜索了一些可以帮助我解决这个问题的东西,但似乎什么都不起作用,我不断地得到同样的错误。

共有2个答案

魏凯捷
2023-03-14

您的方法级别不接受任何参数,因此当您尝试在主方法中创建字符串数组时,将无法编译。Levels方法也返回字符串[]。尝试如下更改方法的使用:

int[] levelCount = Levels();    
String [] level = {"\nNumber at Level R: " + levelCount[0], 
"\nNumber at Level 1: " + levelCount[1], 
"\nNumber at Level 2: " + levelCount[2], 
"\nNumber at Level 3: " + levelCount[3],
"\nNumber at Level 4: " + levelCount[4]};

并按照Asfab的建议将数组更改为int或Integer。

孙明德
2023-03-14

更改行<代码>整数[]levelCount={0,0,0,0}

Integer[]levelCount={0,0,0,0,0}

或删除levelCount[5]=levelCount[5]1

在上行中,您试图读取第6个(索引5)元素,但您声明的数组大小为5(即最大索引4)

 类似资料:
  • } 这是我正在创建的一个函数,它是我的CS类更大问题的一部分。我需要返回我声明的数组。然而,当我尝试编译时,我得到一个错误: 我把它弄得一团糟,在网上寻找答案,但似乎什么都做不到。

  • 我正在使用springboot和gradle,我正在尝试在控制器中执行下面的代码。 在编译时,我得到以下错误 错误:找不到symbol=List.of(“水星”,“金星”,“地球”,“火星”,^symbol:方法of(String,String,String,String,String,String,String,String,String,String) 位置:接口列表 我的分级档案 sourc

  • 这里有一个类似的答案:如何在Java中将函数作为参数传递? 但提供的正确答案不起作用。我有一门课: 在函数内部我试图将传递到,但我得到的错误是: 找不到符号 符号:类Callable 我不知道为什么。 另外,我尝试使用返回类型字符串作为xMethod,您能传递一个返回类型不同的函数吗?

  • 我正在使用下面的代码创建java。util。功能 但是,我得到一个“未找到符号”异常。请帮忙 下面是代码片段: 编译器抛出错误:java:找不到symbol:方法doubleIt_1(java.lang.Integer)位置:类声明性。L12Legacytomfunction接口4 请帮忙...

  • 我试图将Stripe Java库与JSP Java servlets一起使用。 我已经将以下库导入servlet AcceptPaymentRequest.java中: 我的pom.xml如下: 找不到符号:class APIException位置:package com.stripe.exception 任何帮助都很感激。

  • 问题内容: 我使用时代码工作正常 吗?在我看来这很奇怪。 (错误显示在终端上) 问题答案: 这是 Arrays 类的静态方法。 您应该像这样调用它: 请注意,您仍然必须像这样导入Arrays类: 或者像其他人提到的那样,如果您进行静态导入,则可以省略类名。 我认为这样做对可读性更好。