2013-05-10 26 views
1

我是一个学生,我要创建一个游戏。我完成了,但我必须让它没有任何警告。 我有一个警告,我不知道它来自哪里。重新编译Xlint上的BlueJ的警告细节

Myclass.java使用未经检查或不安全的操作。 用-Xlint重新编译:取消选中以查看详细信息。

我知道它是什么时候没有指定列表,但我没有List或ArrayList在这个类中。 我的问题是如何与Xlint编译有此警告的详细信息? 我在Windows 7上。

(对不起,如果我的英语不好,这不是我的主要语言。) 谢谢。

(这是我CLASSE全码)

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

代码请!您可能会使用其他一些泛型类。 – 2013-05-10 10:27:27

+0

使用列表或其他泛型类没有泛型参数仅仅是可能的原因之一。所以你必须再次检查你的代码。一种简单的方法是在Eclipse或Netbeans等IDE中打开它。 – 2013-05-10 10:33:03

+0

我用Eclipse打开它,但它没有解决问题。 – user2369530 2013-05-10 10:37:41

回答

0

我迄今发现的问题,在这个方法:

public Stack getStack() 
{ 
    return previousRoom; 
} 

Stack<T>是一个通用类,使用这个类需要一个类型参数来说明你要添加什么样的对象。如果您忘记这么做,Xlint会提醒您。你可以自己寻找其他类似的错误。

进一步提示

  • 通常你应该总是使用前检查类的文档。即使在编程时,Google也是你的朋友。

  • 只有在文档由于某种原因不可用的情况下,如果您曾经见过某个类已被用作SomeClass<T>,请始终在此表单中使用它,因为这是一个通用类。如果您有没有什么T的想法,或者你真的不关心,用SomeClass<?>

+0

非常感谢!我没有任何警告,非常感谢,祝你有个美好的一天,你救了一个学生! – user2369530 2013-05-10 11:20:17