Bom pessoa, uma das quetoes do meu trabalho academico é:
3) Faça um programa que leia uma frases e, ao final, indique: (Valor 2 pontos)
a) o caracter que mais se repetiu na frase;
b) o caracter que menos se repetiu na frase;
c) a quantidade de caracteres digitados.
Depois de passar alguns dias quebrando a cabeça consegui desenvolver o codigo abaixo, no entando como voces veram eu só soube fazer usando um char[] e passando como parametro o alfabeto. Outro problema é para imprimir o caracter que menos se repete quando existem valores iguais.
ex: "rafaeL", caracter q menos se repete: "e"... pois o "e" esta na frente do "f", "L" e "r" no alfabeto.
Eu vou entragar meu trabalhor assim ,mas sei que poderia ter sido melhor, usei os conteitos apresentados ate o momento em sala e o forum pra fazer esse trabalho.
Se alguem puder me ajudar a, principalmente nao ter que usar um char de alfabeto.
import java.util.Scanner;
public class Exercicio3
{
public static int Maior(int[] c)//encontra o maior valor em um vetor de int
{
int max = c[0];
for(int x=0;x<c.length;x++)
{
if (c[x]>max)
max=c[x];
}
return max;
}
public static int Maior(int[] c, int i)//encontra o maior valor em um vetor de int
{
int max = c[0];
for(int x=0;x<c.length;x++)
{
if (c[x]>max)
{
max=c[x];
i=x;
}
}
return i;
}
public static int Menor(int[] c)//encontra o menor valor em um vetor de int
{
int min = c[0];
for(int x=0;x<c.length;x++)
{
if ((c[x]<min)&&(c[x]!=0))
min=c[x];
}
return min;
}
public static int Menor(int[] c, int i)//encontra o menor valor em um vetor de int
{
int min = c[0];
for(int x=0;x<c.length;x++)
{
if ((c[x]<min)&&(c[x]!=0))
{
min=c[x];
i=x;
}
}
return i;
}
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int index=0;
char[] letra = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','v','x','y','z'}; // ocorrências da letra "a"
int[] cont =new int[letra.length];
String frase = null;
System.out.print("Digite uma frase: ");
frase=input.nextLine();
for(int x=0;x<letra.length;x++)
for(int i = 0; i < frase.length(); i++)
{
if(frase.charAt(i) == letra[x])
cont[x]++;
}
index=Maior(cont,index);
System.out.println("A frase contem " +
Maior(cont) + " ocorrencias da letra " + letra[index]);
index=Menor(cont,index);
System.out.println("A frase contem " +
Menor(cont) + " ocorrencias da letra " + letra[index]);
System.out.println("A frase contem " +frase.length()+" caracteres ");
System.exit(0);
}
}