Ola galera.
Goataria de criar um vetor do tipo char.
eu tenho uma palavra, ai eu desmembro ela para colocar em um vetor, depois comparar este vetro com as palavras digitadas pelos usuarios.
Na realidade, estou tentando criar um jogo da forca.
Quero desenvolver sozinho, sem exemplos da Internet.
Já tenho a primeira parte do codigo agora parei nesta parte.
public class Testes {
String palavra=("Marcelo");
char vetpalavra[];
public void palpite(){
int tam = palavra.length();
for (int i=0;i<tam;i++){
vetpalavra[i]=palavra.charAt(i);
}
}
public static void main(String[] args){
Testes Palpite = new Testes();
Palpite.palpite();
}
}
charvetpalavra[];// Primeira forma: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#toCharArray%28%29publicvoidpalpite(){vetpalavra=palavra.toCharArray();}
M
Marcelo_Jq
então, como criar o vetor eu sei, o que eu gostaria é de inserir nos indices do vetor o valor do charAt();
exemplo: a palavra é Marcelo.
com esta linha - vetpalavra[i]=palavra.charAt(i);
O vetor ficaria deste jeito vetpalavra[]={“M”,“a”,“r”,“c”,“e”,“l”,“o”};
Será que fui claro?
E
entanglement
Foi,e é por isso que sugeri você usar toCharArray, que faz duas coisas:
a) Cria um array de char do tamanho igual ao da String, e
b) Copia todos os caracteres da string nas posições correspondentes, como se fosse charAt.
Você não converte (imagina se a string tem mais de 1 caractere). Se você sabe que ela tem só 1, simplesmente use o charAt:
charc=minhaString.charAt(0);
L
lucasn000
Marcelo_Jq.,
conforme o wagnerfrancisco mencionou acima, não seria possível. Em contrapartida, pensei em alguma solução que talvez satisfaça o que precisa: criei um método toChar que retorna um conjunto de char a partir de uma String. Ou seja, não temos problema no tamanho da String, pois o retorno é um conjunto de char e o tamanho deste conjunto de char é exatamente o tamanho do número de caracteres da String. Bem dinâmico.
conforme o wagnerfrancisco mencionou acima, não seria possível. Em contrapartida, pensei em alguma solução que talvez satisfaça o que precisa: criei um método toChar que retorna um conjunto de char a partir de uma String. Ou seja, não temos problema no tamanho da String, pois o retorno é um conjunto de char e o tamanho deste conjunto de char é exatamente o tamanho do número de caracteres da String. Bem dinâmico.
Este método já existe na API do Java, é o toCharArray da String. :D
char[] chars = "abc".toCharArray();
L
lucasn000
Sim, Wagner. Mas a ideia foi esmiuçar o método para que o amigo entendesse a lógica por trás, e não simplesmente uma caixa preta. Sem falar que estamos em uma área para iniciantes onde é bacana discutir o “como faz”.
De qualquer maneira foi bem importante a tua colocação. Exploração de bibliotecas a nossa disposição é extremamente importante neste paradigma orientado a objetos
M
marquimn
Boa noite pessoal!
Gostaria de tirar uma duvida sobre vetor tipo char do seguinte enunciado:
Fazer um programa em Java faça uma pesquisa de opinião com 10 pessoas e armazene as respostas em um vetor de char perguntando: ?você é a favor da lei seca ?S/N ?. Ao final exiba o vetor com todas as respostas. O total de sim e o total de não.
Sou iniciante em Java e gostaria que algum de vcs me dessem uma luz. Se possível criar o código com comentários.
Agradeço desde já!
Paz!
L
lucas93lange
importjava.util.Scanner;importjavax.swing.JOptionPane;publicclassPesquisa{publicvoidpergunta(){charresp[]=newchar[10];for(inti=0;i<10;i++){resp[i]=resposta();//preenche cada posição do vetor com o retorno do metodo}resultado(resp);//mostra para o usuario o resultado passando como parametro o vetor preenchido}publicvoidresultado(char[]pesquisa){intsim=0,nao=0;//contadores para exibir os resultadosStringresult="";//para exibir todos as respostasfor(chara:pesquisa){//foreach pode ser utilizado assim //tambem for(int i = 0;i<pesquisa.lenght();i++){}result+=a+" - ";//jogada com a String que será exibida para separar os char's de cada posiçãoif(a=='n'||a=='N'){//caso o char da posição x contenha n ou Nnao++;//incrementa + 1 na variavel. Alternativa nao = nao + 1;}elseif(a=='s'||a=='S'){sim++;//incrementa + 1 na variavel. Alternativa sim = sim + 1;}}//exibe o resultado em uma caixa de dialogoJOptionPane.showMessageDialog(null,result.substring(0,result.length()-2)+"\n Tota de não: "+nao+"\n Total de sim: "+sim+"\n Total de invalidos: "+(pesquisa.length-(nao+sim)));//tamanho do vetor - (total de nao + total de sim)//pode ser utilizado o System.out.println(sua mensagem aqui entre "" ou não); }publiccharresposta(){Stringop;//armazena numa string o resultado do input do usuarioop=JOptionPane.showInputDialog("Você é a favor da Lei Seca ?");//caixa de input/*pode ser utilizado o metodo scanner com a mesma finalidade op = new Scanner(System.in).nextLine(); */returnop.charAt(0);//retorna o primeiro char digitado no input}}