2013-07-09 74 views
0

我一直在研究一個作業的代碼,我們必須創建一個代碼,要求參加吃飯比賽的人數。該方案應該首先告訴我誰吃的最多,吃的多少。我有我的代碼幾乎完成,基本上我只有部分將打印最吃的參與者的名字。然而,我仍然在我的代碼的其他部分掙扎,出現的錯誤信息是Java錯誤21找不到符號。我確實檢查過所有的括號都在那裏,代碼是在課堂內部和外部的,但我仍然無法讓它工作。這是迄今爲止的樣子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就需要它。任何與此有關的幫助真的很重要。

+1

函數'ganadorDelConcurso()'如果'comidaTragada <= numMayor'我看不到返回嗎?另外,請發佈完整的錯誤stacktrace –

+0

我應該爲「if(comidaTragada ....」)創建另一個例程嗎?是我認爲我可以做「if」評估,然後馬上要求退貨 –

+0

這是我得到的錯誤,我不能複製它,所以我將它分成兩部分 C:\ Users \ Carlos \ Documents \ Ejemplos Programacion \ Diagramas de Flujo y Java \ TareaProgramaTelevisionV1.java:21:error:can not find symbol numMayor = ganadorDelConcurso(comida1,comid a2,comida3); ^ 符號:變量comida3 位置:class TareaProgramaTelevisionV1 3錯誤 –

回答

0

編譯器告訴你第21行缺少一個符號。這是對comida1(和該行其他變量)的引用。你不能在聲明變量之前引用一個變量(你在第31行到第33行的while/for循環中執行的操作。你可能需要將變量聲明向上移動,或者聲明並使用不同的變量。

+0

感謝您的幫助。現在我確實有變量的聲明,但我也得到了另一個錯誤 –

+0

這與Bimalesh Jha剛剛說的return語句有關。我會糾正這部分,看看我現在能否正常工作,謝謝你的幫助 –