【问题标题】:Java error 21 can not find symbolJava 错误 21 找不到符号
【发布时间】:2013-07-06 14:03:17
【问题描述】:

我一直在为一项家庭作业编写代码,我们必须在其中创建一个代码,询问将参加饮食比赛的人数。该程序应该首先告诉我谁吃得最多,吃了多少。我的代码几乎完成了,基本上我只有打印吃得最多的参与者姓名的部分。但是,我仍然在代码的另一部分苦苦挣扎,出现的错误消息是 Java 错误 21 找不到符号。我确实检查了所有括号都在那里,代码在类内和主类之外,但我仍然无法让它工作。到目前为止是这样的

import java.io.*;


class TareaProgramaTelevisionV1{



    public static void main(String[] args)throws java.io.IOException{

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        PrintStream out = System.out;

        String nombre;
        int numMayor;
        int k;

        out.println("Digite el numero de participantes (-1 para finalizar) ");
        k=Integer.parseInt(in.readLine());


        numMayor = ganadorDelConcurso(comida1, comida2, comida3);
        out.println(numMayor);

        while(k!=-1){

        out.print("Digite el nombre del participante");
        nombre = in.readLine();
        for (int contComida=0; contComida<3; contComida++){


        int comida1;
        int comida2;
        int comida3;

        out.println("Cuanto consumió en el primer bocado?");
        comida1=Integer.parseInt(in.readLine());

        out.println("Cuanto consumió en el segundo bocado?");
        comida2=Integer.parseInt(in.readLine());

        out.println("Cuanto consumió en el tercer bocado?");
        comida3=Integer.parseInt(in.readLine());


                    }

                }   

            }
        static int ganadorDelConcurso(int pcomida1, int pcomida2, int pcomida3){

            int numMayor=0;
            int comidaTragada;

            comidaTragada= pcomida1 + pcomida2 + pcomida3;

        if (comidaTragada>numMayor){

            numMayor= numMayor + comidaTragada;
            return numMayor;
        }
    } 
}

变量是西班牙语,因为这是打印信息的方式。变量 numMayor 将返回这个人总共吃了多少,pcomida1,2 和 3 是这个人在 3 次尝试中吃了多少,最后我先用了一段时间,这样我就可以为尽可能多的人做只要用户不输入-1,就需要它。对此的任何帮助都非常感谢。

【问题讨论】:

  • 在你的函数ganadorDelConcurso() 如果comidaTragada&lt;= numMayor 我看不到回报?另外,请发布完整的错误堆栈跟踪。
  • 我应该为“if(comidaTragada....”创建另一个例程吗?问题是我认为我可以进行“if”评估,然后立即要求返回。
  • 这是我得到的错误。我无法将其全部复制,因此我将其拆分为两个 C:\Users\Carlos\Documents\Ejemplos Programacion\Diagramas de Flujo y Java\TareaProgramaTelevisionV1.java:21: error: cannot find symbol numMayor = ganadorDelConcurso(comida1, comida2, comida3 ); ^ 符号:变量 comida3 位置:类 TareaProgramaTelevisionV1 3 个错误

标签: java location find symbols


【解决方案1】:

编译器告诉您第 21 行缺少符号。这是对 comida1(以及该行中的其他变量)的引用。您不能在声明变量之前引用它(您在第 31 到 33 行的 while/for 循环中执行此操作。您需要将变量声明向上移动,或者声明并使用不同的变量。

【讨论】:

  • 感谢您的帮助。现在我确实首先声明了变量,但我也遇到了另一个错误
  • 跟Bimalesh Jha刚才说的return语句有关。我会更正那部分,看看我现在能不能让它工作,谢谢你的帮助
猜你喜欢
  • 1970-01-01
  • 2013-05-20
  • 2013-12-06
  • 2016-07-22
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多