2013-05-10 1 views
1

저는 학생이고 게임을 만들어야합니다. 나는 끝냈다. 그러나 나는 경고와 함께 그것을 놓아 줘야한다. 어디서 왔는지 알 수없는 경고가 있습니다.BlueJ의 Xlint를 사용하여 경고 정보를 다시 컴파일하십시오.

Myclass.java는 검사되지 않거나 안전하지 않은 작업을 사용합니다. -Xlint를 사용하여 다시 컴파일 : 자세한 내용은 선택되어 있지 않습니다.

List가 지정되지 않았지만이 클래스에 List 또는 ArrayList가없는 경우를 알고 있습니다. 제 질문은이 경고에 대한 자세한 내용을 얻기 위해 Xlint로 컴파일하는 방법입니다. Windows 7입니다.

(영어가 나쁘면 죄송합니다. 내 주 언어가 아닙니다.) 고마워요. 이 클래스가 필요하여,

public Stack getStack() 
{ 
    return previousRoom; 
} 

Stack<T>가 제네릭 클래스입니다 :

package pgk_game; 
import java.util.*; 
import java.io.*; 
import pgk_command.*; 

/** 
* Classe destine aux caracteristiques du joueur. On y met sa Room actuelle, son inventaire, son poids maximum. 
* @Visentin Romain et Marquet Gauthier 
* Aide a partir d'une version propose par Poul Henriksen (http://media.pearsoncmg.com/intl/ema/ema_uk_he_barnes_bluej_3/solutions/resources/zuul-with-player.zip) 
*/ 

public class Player 
{ 
    public Room currentRoom; 
    private Stack<Room> previousRoom; 
    private ItemList inventaire; 
    private double maxPoids; 
    public Room beamerRoom; 
    public static int maxMov; 

     /** 
    * Constructeur de la classe Personnage 
    */ 
    public Player() 
    { 
     this.currentRoom = null; 
     this.inventaire = new ItemList(); 
     this.previousRoom = new Stack<Room>(); 
     this.maxPoids = 2; 
     this.maxMov = 21; 
    } 

    public Room getRoom() 
    { 
     return currentRoom; 
    } 

    public ItemList getInventaire() 
    { 
     return inventaire; 
    } 

    public double getmaxPoids() 
    { 
     return maxPoids; 
    } 

    public void changemaxPoids(double newPoids) 
     { 
     this.maxPoids = newPoids; 
    } 

    /** 
    * Essaye de prendre l'objet 
    */ 
     public Item prendreItem(String nom) 
     { 
     if(possible(nom)) { 
      Item item = currentRoom.removeItem(nom); 
      if (item == null) 
      {return null;}   
      inventaire.add(nom,item); 
      double newPoids = getmaxPoids() - item.getWeight(); 
      changemaxPoids(newPoids); 
      return item; 
     } else { 
      return null; 
     } 
    } 

    public Item verifTeleporteur() 
    { { Item item = inventaire.get("teleporteur"); 
     if (item != null) 
     {return item;}} 

     {return null;} 
    } 

    public void chargeRoom() 
    { 
     beamerRoom = currentRoom; 
    } 

    public void tireRoom() 
    { 
     modifRoom(beamerRoom); 
    } 

    /** 
    * Essaye de jeter l'objet 
    */ 
    public Item jeterItem(String nom) { 
     Item item = inventaire.remove(nom); 
     if(item != null) { 
      currentRoom.setItem(nom,item); 
      double newPoids = getmaxPoids() + item.getWeight(); 
      changemaxPoids(newPoids); 

     } 
     return item; 
    } 

    public Stack getStack() 
    { return previousRoom; 
    } 

    public void modifRoom(Room nextRoom) 
    { 
     currentRoom = nextRoom;  
     maxMov -= 1; 
    } 


    public Room popStack() 
    {return previousRoom.pop();} 

     public boolean emptyStack() 
    { 
     return previousRoom.empty(); 
    } 

    /** 
    * Verification si l'item peut etre pris 
    */ 

     private boolean possible(String nom) { 
     boolean possible = true; 
     Item item = currentRoom.getItemRoom(nom); 
     if(item == null) { 
      possible = false; 
     } 
     else { double Poidstotal = maxPoids - item.getWeight(); 
     if(Poidstotal < 0) { 
      possible = false; 
     }} 
      return possible;  
    } 

     /** 
    * Try to go to one direction. If there is an exit, enter the new 
    * room, otherwise print an error message. 
    */ 
    public void goRoom(String direction) 
    { 
     UserInterface gui = GameEngine.getGui(); 
     Room nextRoom = currentRoom.getExit(direction); 
     if (maxMov <= 0) 
      {loseGame();}   
     else if (nextRoom == null) 
      { gui.println("Il n'y a pas de portes !\n"); } 

      else 
      { 
       Room nextRoomTrolol = MovingCharacter.movCharacter(); 
       MovingCharacter.changeRoom(nextRoomTrolol); 
       MovingCharacter.modifRoom(nextRoomTrolol); 
       getStack().push(getRoom()); 
       modifRoom(nextRoom);           
       gui.println(getRoom().getLongDescription()); 
      if(getRoom().getImageName() != null) 
       gui.showImage(getRoom().getImageName());}} 

     public void endGame() 
    { 
     UserInterface gui = GameEngine.getGui(); 
     gui.println("Merci d'avoir joue ! Au revoir."); 
     gui.enable(false); 
    } 

    private void loseGame() 
    { UserInterface gui = GameEngine.getGui(); 
     gui.println("Vous avez depasser le nombre limite d'action ! Il est trop tard pour \n rendre le projet a temps ! "); 
     endGame(); 
    }   


    public void prendre(String item) 
    {UserInterface gui = GameEngine.getGui(); 
    Item newItem = prendreItem(item); 

    if (newItem == null) 
     gui.println("Vous ne pouvez pas prendre cet objet ! \n"); 
      else 
      gui.println("Vous avez pris " + item +"\n"); 
     } 


     public void jeter(String item) 
    { 
    UserInterface gui = GameEngine.getGui(); 
    Item newItem = jeterItem(item); 

    if(newItem == null) { 
      gui.println("Vous ne portez pas l'objet suivant " + item +"\n"); 
     } 
     else { 
      gui.println("Vous avez jeter " + item +"\n"); 
     } 
    } 


    /** 
    * Retourner a la piece precedente 
    */ 
    public void returnRoom() 
     { 
      UserInterface gui = GameEngine.getGui(); 
      if (!this.emptyStack()) 
      { Room nextRoomTrolol = MovingCharacter.movCharacter(); 
       MovingCharacter.changeRoom(nextRoomTrolol); 
       MovingCharacter.modifRoom(nextRoomTrolol); 
       modifRoom(popStack()); 
       gui.println(getRoom().getLongDescription()); 
       if(getRoom().getImageName() != null) 
       gui.showImage(getRoom().getImageName()); 
      } 
      else 
      {gui.println("Vous etes deja revenus au point de depart !\n"); 
      gui.println(getRoom().getLongDescription());} 
     } 

    /** 
    * Inventaire 
    */ 
    public void inventaire() 
    { UserInterface gui = GameEngine.getGui(); 
    String inventaire = getInventaire().getInventaire(); 
    Double poids = new Double (getmaxPoids()); 
     gui.println ("Vous avez en votre possesion : " + inventaire +"."+ "\n" + "Poids total restant : " + poids + " kg.\n"); 
    } 

     /** 
    * Test 
    */ 
    public void test(String nomFichier) 
    { 
     UserInterface gui = GameEngine.getGui(); 
      try { 
      Scanner fichier = new Scanner(new File(nomFichier)); 
      while (fichier.hasNextLine()) 
      {    
       String commandLine = fichier.nextLine(); 
       GameEngine.interpretCommand(commandLine); 
      } 
      fichier.close(); 
     } 
     catch(FileNotFoundException ef) 
     { gui.println("Le fichier" +" " + nomFichier + " " + " n'existe pas !\n"); 
     } 
    } 



     public void manger(String nourriture) 
    { 
    UserInterface gui = GameEngine.getGui(); 
    Item item = mangerItem(nourriture); 
    if (item == null) // Si l'objet ne peut pas etre manger 
     gui.println("Vous ne pouvez pas manger cet objet !\n"); 
     else 
     {gui.println("Vous avez manger " + nourriture +"\n"); 
     gui.println("Vous vous sentez en forme apres un petit cafe ! \nVous pouvez portez un kilo en plus.\n"); 
     getInventaire().remove(nourriture);} 
    } 

     /** 
    * Essaye de manger l'objet 
    */ 
    public Item mangerItem(String nom) 
     { if(nom.equals("cafe")) 
     { 
     Item item = inventaire.get(nom); 
     if (item != null) 
     { 
     maxPoids += 1; 
     double newPoids = getmaxPoids() + item.getWeight(); 
     changemaxPoids(newPoids); 
     return item; 
     }} 
     return null; 
    } 

    public void charger() 
    { UserInterface gui = GameEngine.getGui(); 
     Item item = this.verifTeleporteur(); 
     if (item == null) 
     { gui.println("Vous ne possedez pas le teleporteur !\n"); 
     } 
     else {gui.println ("Piece enregistree...\n"); 
     chargeRoom();} 
    } 

    public void tirer() 
    { 
     UserInterface gui = GameEngine.getGui(); 
     Item item = this.verifTeleporteur(); 
     if (item == null) 
     { gui.println("Vous ne possedez pas le teleporteur !\n"); 
     } 
      else if (beamerRoom == null) 
      {gui.println("Vous n'avez pas charge votre teleporteur !\n"); }  
      else 
      { gui.println ("Teleporation ...\n"); 
      tireRoom(); 
      gui.println(getRoom().getLongDescription());} 
    if( getRoom().getImageName() != null) 
      {gui.showImage(getRoom().getImageName());}} 

    public void alea(String chiffre) 
    { GameEngine.forceRoom = chiffre;} 

    public void alea() 
    { GameEngine.forceRoom = null;} 

    public void talk(String personnage) 
    {UserInterface gui = GameEngine.getGui(); 
    Character perso = currentRoom.getCharacterText(personnage); 
    MovingCharacter movperso = currentRoom.getmovCharacterText(personnage); 
    avoirFinalTexte(personnage); 
     if (perso == null) 
     { if (movperso == null) 
      { gui.println("Il n'y a personne ici ou il n'est pas la !\n"); 
    } 


     else if (perso.nbParle == 0) 
     { gui.println(personnage + " : " + currentRoom.getmovCharacterText(personnage).getFirstTexte() + "\n");} 
     else if (perso.avoirfinal == false) 
      {gui.println(personnage + " : " + currentRoom.getmovCharacterText(personnage).getGeneralTexte() + "\n") ; }   
      else { gui.println(personnage + " : " + currentRoom.getmovCharacterText(personnage).getFinalTexte() + "\n") ;} } 

     else if (perso.nbParle == 0) 
      { gui.println(personnage + " : " + currentRoom.getCharacterText(personnage).getFirstTexte() + "\n");} 
     else if (perso.avoirfinal == false) 
      {gui.println(personnage + " : " + currentRoom.getCharacterText(personnage).getGeneralTexte() + "\n") ; }   
      else { gui.println(personnage + " : " + currentRoom.getCharacterText(personnage).getFinalTexte() + "\n") ;} 
    } 



    public void avoirFinalTexte(String nom) 
    { UserInterface gui = GameEngine.getGui(); 
     if(nom.equals("patron")) 
     { Character personnage = currentRoom.getCharacterText(nom); 
      if (personnage != null) 
      { Item item = inventaire.get("test1"); 
       if (item != null) 
       { getInventaire().remove("test1"); 
        double newPoids = getmaxPoids() + item.getWeight(); 
        changemaxPoids(newPoids); 


        personnage.avoirfinal = true; 
         winGame();} 
       } 
      }   
     } 
     public void winGame() 
     { UserInterface gui = GameEngine.getGui(); 
      gui.println("Vous avez rendu le projet à temps ! Bien joué ! \n "); 
      endGame(); 
     }   
    } 
+0

코드하시기 바랍니다! 당신은 다른 일반적인 클래스들을 사용할 수있을 것입니다. –

+0

일반 매개 변수없이 목록 또는 기타 일반 클래스를 사용하는 것은 가능한 원인 중 하나 일뿐입니다. 따라서 코드를 다시 확인해야합니다. 하나의 간단한 방법은 Eclipse 또는 Netbeans와 같은 IDE에서 열어 보는 것입니다. –

+0

Eclipse로 열지 만 문제가 해결되지 않았습니다. – user2369530

답변

0

지금까지 발견 된 문제 (이 내 CLASSE의 전체 코드)이 방법에 어떤 종류의 객체를 추가 할 것인지를 알려주는 형식 매개 변수. 그렇게하지 않았다면, Xlint가 경고 할 것입니다. 다른 유사한 오류를 직접 찾을 수 있습니다.

또한 팁

  • 보통 당신은 항상 사용하기 전에 클래스 문서를 확인해야합니다. Google은 프로그래밍 할 때도 친구입니다.

  • 어떤 이유로 든 문서를 사용할 수없는 경우에만 클래스가 SomeClass<T>으로 사용 된 적이 있다면이 클래스가 일반 클래스이므로 항상이 양식에서 사용하십시오. T이 무엇인지 잘 모르는 경우 또는 SomeClass<?>을 사용하십시오.

+0

감사합니다. 나는 아무런 경고도하지 않았어, 고마워, 좋은 하루 되라, 너 학생을 구해라! – user2369530

관련 문제