我一直在写一个作业的代码,在这个代码中,我们必须创建一个代码,询问将要参加饮食比赛的人数。程序应该首先告诉我谁吃得最多,吃了多少。我几乎完成了我的代码,基本上我只需要打印吃得最多的参与者的名字的部分。然而,我仍然在我的代码的另一部分挣扎,出现的错误消息是Java error 21 can not find symbol。我确实检查了所有的括号都在那里,代码在类的内部和主要的外部,但我仍然不能让它工作。到目前为止它看起来是这样的
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,我就可以为需要的人做这件事。这方面的任何帮助都是非常有用的。
发布于 2013-07-09 13:00:02
编译器告诉您在第21行缺少一个符号。它是对comida1 (以及该行上的其他变量)的引用。您不能在声明变量之前引用它(在第31到33行的while/for循环中就是这样做的。您需要将变量声明上移,或者声明并使用不同的变量。
https://stackoverflow.com/questions/17540194
复制相似问题