Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

SLBGlorioso

Criar função para contar consoantes

Mensagens Recomendadas

SLBGlorioso

Ajudem-me a resolver este problema, o charAt não dá para usar num string de array multimensional, o que utilizo?

public class contarConsoantes {
public static void main(String[] args) {
String [][] linhas = new String [2][4];
linhas[0][0] = "a";	
linhas[0][1] = "b";	
linhas[0][2] = "c";
linhas[0][3] = "a";
linhas[1][0] = "v";
linhas[1][1] = "a";
linhas[1][2] = "f";
linhas[1][3] = "a";

int letra = 0, contar = 0;
for(int i = 0; i < linhas.length; i++){
for(int j = 0; j < linhas[i].length; j++){
letra=linhas[i][j].charAt(i);// o charAt não dá para usar num string de array multimensional, o que utilizo?
if(letra=='a'|| letra=='e'||letra== 'i'||letra== 'o'||letra=='u'||letra=='A'||letra=='E'||letra=='I'||letra=='O'||letra=='U')
 contar++;
}
}
System.out.println(contar);
}
}

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

ui ... que confusão que prai vai ....

antes do mais o que tens não é um string de arrays multidimensionais

é sim uma matrix ou um array multidimensional de strings.

é ao contrário e o significado é muito diferente !! o primeiro não faz sentido

agora:

String [][] linhas = new String [2][4]; // array de dimensão 2x4 de strings

for(int i = 0; i < linhas.length; i++) // para todos os graus da primeira dimensão do array multidimensional (de 0 a 1)
{
 for(int j = 0; j < linhas[i].length; j++) // para todos os graus da segunda dimensão do array multidimensional (de 0 a 3)
 {
   linhas[i][j]; // <-------- tens a string guardada na posição ixj da matrix / array multidimensional
 }
}

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
SLBGlorioso

Eu ainda estou no inicio de aprendizagem de Java, por isso desculpe estas perguntas basicas :) . O problema que tenho neste caso é a contar consoantes na array multidimensional de strings! Eu num array de string sei, e é fácil contar. Podia ajudar/explicar como ei-de fazer?

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

pega no código de contar num array de strings :

for (int i = 0; i < lista.length; i++)
{
 // fazer o que tens de fazer ...
}

basta adicionar-lhe uma nova dimensão :

for (int i = 0; i < lista.length; i++)
{
 for (int j = 0; j < lista[i].length; j++)
 {
   // fazer o que tens de fazer ...
 }
}


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
SLBGlorioso

Dentro de // fazer o que tens de fazer ... coloquei o seguinte codigo, tem um problema que so conta neste caso as vogais que estão em coluna, as que estao em linha nao conta :S

chr=linhas[l][c].charAt(0);
 if(chr=='a'||chr=='e'||chr=='i'||chr=='o'||chr=='u'||chr=='A'||chr=='E'||chr=='I'||chr=='O'||chr=='U'){
	 vogais++;

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

novamente o a acabaste de dizer não tem muito sentido

o que é "linha" e o que é "coluna" ???

estas a percorrer todos os elementos do array multidimensional, agora só falta percorrer todos os caracteres da string


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scoelli

Estou com o mesmo problema, não conta:

int vogais=0;
 char letra;
 for (int i = 0; i < fim; i++) {
 for (int j = 0; j < linhas[i].length; j++) {
 {
	 letra=linhas[i][j].charAt(i);
	 if(letra=='a'||letra=='e'||letra=='i'||letra=='o'||letra=='u'||letra=='A'||letra=='E'||letra=='I'||letra=='O'||letra=='U'){
	 vogais++;
	 }
 }
 }
 System.out.println ("Número e vogaisA: " + vogais);

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scoelli

Dé sempre o seguinte erro: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0

int vogais=0;
 int letra=0;;
 for (int i = 0; i < fim; i++) {
 for (int j = 0; j < linhas[i].length; j++) {
 {
letra=linhas[i][j].charAt(0); //???????
	 if(letra=='a'|| letra=='e'||letra== 'i'||letra== 'o'||letra=='u'||letra=='A'||letra=='E'||letra=='I'||letra=='O'||letra=='U')
			 vogais++;


 }
 System.out.println ("Número de vogais: " + vogais);
 }
 }

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Dé sempre o seguinte erro: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0

ou tens a variável "fim" a ser mal incrementada ou andas a gravar strings vazias


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
SLBGlorioso

Assim vais conseguir contar :)

for(int l = 0; l < fim; l++){
for(int c = 0; c < linhas[l].length; c++){
for(int i = 0; i < linhas[l][c].length(); i++){
 chr=linhas[l][c].charAt(i);
 if(chr=='a'||chr=='e'||chr=='i'||chr=='o'||chr=='u'||chr=='A'||chr=='E'||chr=='I'||chr=='O'||chr=='U'){
 vogais++;
 }
}
}
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.