Jump to content

Recommended Posts

Posted (edited)

Ola

Seria possivel alguem me ajudar num array multidimensional, precisava de contar palavras, vogais, e consoantes, que alterações devo fazer no código:

public static void contagem(String[]args){
String str="O rato roeu a rolha do rei de roma";

String frs=str;
int vog=0;
int cons=0;

for(int i=0;i<str.length();i++){
 char a=str.charAt(i);
 if(a==32) continue;
 if (a==97 |a ==101 | a==105 |a==111|a==117){
	 vog++;
	 continue;
 }
 if(a>=98 && a<=122)cons++;
}

System.out.println("A frase"+frs+"temos: vogais-"+vog+"consoantes-"+cons);

}

}

para aplicar nesta situação:

import java.util.Scanner;
public class P1_TP3_EI_SandraCoelli {

public static void menuprincipal() {
Scanner input = new Scanner(System.in);
String[][] linhas=new String[100][];
int fim=0;
char opcao;
do{
System.out.println("Leitor 1.0");
System.out.println("MENU PRINCIPAL");
System.out.println("(i)nserir linhas no fim (termine com uma linha vazia)");
System.out.println("(l)Listar linhas");
System.out.println("(a)pagar ultima linha)");
System.out.println("(e)ditar");
System.out.println("(m)over");
System.out.println("(p)esquisar");
System.out.println("(c)ontar");
System.out.println("(s)air");
System.out.println("Escolha uma Opção: ");
opcao=input.next().charAt(0);// inicia a variável opcao a zero

switch (opcao) {
case 'i':
System.out.println("introduza o texto");
do {
 String linha = input.nextLine();
 if (linha != null && linha.equals(" ")) {
 break;
 }
 linhas[fim] = linha.split(" ");
 fim++;
} while (true);
break;
//switch LISTAR LINHAS
case 'l':
for (int linha = 0; linha < fim; linha++) {
 for (int coluna = 0; coluna < linhas[linha].length; coluna++) {
 System.out.print(linhas[linha][coluna]);
 }
 System.out.println();
}
break;
case 'c':
?????
Edited by apocsantos
geshi
Posted
public static void contagem(String[]args) // <--- pra que serve o argument "args" ???
{ 
 String str="O rato roeu a rolha do rei de roma";

 String frs=str; // <--- para que serve isto ???
 int vog=0; 
 int cons=0; 

 for(int i=0; i<str.length(); i++)
 {
   char a = str.charAt(i); 

   if(a==32)   // ok ... estás a ignorar o espaço, mas que tal usar : ' ' ?
     continue; 

   if (a==97 | a==101 | a==105 | a==111 | a==117)  // estes são as vogais ? eu naõ sei ... uso sempre os 'a', 'e', 'i', 'o' e o 'u'
   {
     vog++; 
     continue; 
   }

   if(a>=98 && a<=122) // estes é para contemplar todos os casos restantes, as consoantes espero, de 'a' a 'z' ?
     cons++; 
 } 

 // agora responde-me, o que acontece se eu tiver uma frase toda em maúsculas ?
 // não deverias verificar esse caso ?
 // não seria mais simples passar toda a frase toda para minúsculas primeiro ?  

 System.out.println("A frase"+frs+"temos: vogais-"+vog+"consoantes-"+cons); 
} 

} // <---- PARA QUE É ISTO ???
IRC : sim, é algo que ainda existe >> #p@p
Posted

Este algoritmo dá certo, o meu problema é adapta-lo ao seguinte array:

agora responde-me, o que acontece se eu tiver uma frase toda em maúsculas ?

não deverias verificar esse caso ?

não seria mais simples passar toda a frase toda para minúsculas primeiro ?

não está certo ...

String[][] linhas=new String[100][];

String linha = input.nextLine();

tens uma lista : usa um ciclo

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.