Ao criar a classe PalavraOculta, criei um metodo chamado ManipulaLetra(), que tem a função de imprimir um traço para cada posição da palavra escolhida aleatória. O problema é que a palavra é de outra classe e ao importar as outras classe ocorre um erro porque as palavras estão em um vetor e não consigo manipulalas, ou seja, chama-las na classe PalavraOculta().
[
package br.pucpr.bsi.prog2.forca;
public class Palavra
{
private String letra;
private String palavra;
private String pistas1;
private String pistas2;
public Palavra(String palavra)
{
setPistas1(pistas1);
setPistas2(pistas2);
setPalavra(palavra);
}
public void setPalavra(String palavra)
{
if(palavra==null)
{
throw new IllegalArgumentException("");
}
if(palavra.trim().equals(""))
{
throw new IllegalArgumentException("");
}
this.palavra= palavra;
}
public String getPalavra()
{
return palavra;
}
public void setLetra(String letra)
{
if(letra==null)
{
throw new IllegalArgumentException("");
}
if(letra.trim().equals(""))
{
throw new IllegalArgumentException("");
}
this.letra= letra;
}
public String getLetra()
{
return letra;
}
///****************PISTA 1
public void setPistas1(String pistas1)
{
if(pistas1==null)
{
throw new IllegalArgumentException("");
}
if(pistas1.trim().equals(""))
{
throw new IllegalArgumentException("");
}
this.pistas1= pistas1;
}
public String getPistas1()
{
return pistas1;
}
///*******************PISTA 2
public void setPistas2(String pistas2)
{
if(pistas2==null)
{
throw new IllegalArgumentException("");
}
if(pistas2.trim().equals(""))
{
throw new IllegalArgumentException("");
}
this.pistas2= pistas2;
}
public String getPistas2()
{
return pistas2;
}
}
]
[ package br.pucpr.bsi.prog2.forca;
import br.pucpr.bsi.prog2.forca.Palavra;
import java.util.*;
public class ManipulaPalavra
{
private Vector data;
public ManipulaPalavra()
{
data= new Vector();
}
public void adicionaPalavra(Palavra p)
{
if(p==null)
{
throw new NullPointerException ("");
}
data.add§;
}
public Palavra[] getPalavra()
{
Palavra[]aux= new Palavra[data.size()];
for(int i=0; i<data.size();i++)
{
aux[i]= (Palavra) data.elementAt(i);
}
return aux;
}
public Palavra findByPalavra(String palavra)
{
if(palavra == null)
{
throw new NullPointerException();
}
if(palavra.trim().equals(""))
{
throw new IllegalArgumentException();
}
Palavra aux;
for(int i=0; i< data.size();i++)
{
aux =(Palavra) data.elementAt(i);
if(aux.getPalavra().equals(palavra))
{
return aux;
}
}
return null;
}
}
]
[ import br.pucpr.bsi.prog2.forca.Palavra;
import br.pucpr.bsi.prog2.forca.ManipulaPalavra;
import java.util.Vector;
public class PalavraOculta
{
/**
* Este metodo tem a função de ao ser
* encontrado a palavra aleatoriamenete
* e imprimir em cada letra da palavra
* escolhida um simbolo " _" para representar
* o lugar do caracter a ser procurado.
*/
public static void ManipulaLetra()
{
int temEspaco;
String[] vetControle = new String[ 26 ];
char ch, chAux,chAux1;
String[] letra = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
String[] letra1 = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
for(int i=0;i<palavra;i++)
{
ch= palavra.charAt(i);
for(int j=0;j<=25;j++)
{
chAux= letra[j].charAt(0);
chAux1= letra1[j].charAt(0);
if ( ( ch == chAux ) || ( ch == chAux1 ) )
{
if ( vetControle[ j ].equalsIgnoreCase("O") )
System.out.print(" "+ch+" ");
else
{
System.out.print(" - ");
temEspaco++;
}
}
}
}
}
}
]