Conceitos de POO, Arrays e Exemplos em Java
Classificado em Computação
Escrito em em
português com um tamanho de 4,77 KB
Conceitos Fundamentais de POO e Java
Objetos
Objetos criados a partir de classes são armazenados no heap.
Variáveis de Referência: Variáveis que referenciam objetos que estão na memória.
POO
Overloading (Sobrecarga): Métodos com o mesmo nome com parâmetros de tipos diferentes ou quantidades diferentes.
Array
- São entidades estáticas no sentido de que, uma vez criadas, mantêm o mesmo tamanho, embora uma referência de array possa ser atribuída a um novo array de tamanho diferente.
- Subscritos: São os intervalos do array.
- Erro por um (Off-by-one error): Erro de programação comum onde um valor é um a mais ou a menos do que ele deveria ser.
- Inicializador de array: Ou lista inicializadora.
- length: Atributo.
Exemplo de Código: Matrizes e Candidatos em Java
class Questao_Dezenove
{
public static void main(String[] args)
{
int m[][] = new int [4][3];
int n[][] = new int [3][4];
int aux;
for (int i = 0; i < m.length; i++)
{
for (int j = 0; j < m[0].length; j++)
{
m[i][j] = (int)(Math.random()*10);
n[j][i] = (int)(Math.random()*10);
}
}
for (int i = 0; i < m.length; i++)
{
for (int j = 0; j < m[0].length; j++)
{
System.out.print(m[i][j]+"\t");
}
System.out.println();
}
System.out.println();
for (int i = 0; i < n.length; i++)
{
for (int j = 0; j < n[0].length; j++)
{
System.out.print(n[i][j]+"\t");
}
System.out.println();
}
System.out.println();
for (int i = 0; i < m.length; i++)
{
for (int j = 0; j < n[0].length; j++)
{
aux = 0;
for (int a = 0; a < m[0].length; a++)
{
aux += m[i][a]*n[a][j];
}
System.out.print(aux+"\t");
}
System.out.println();
}
}
}
class Candidato
{
int numero;
String nome;
int votos;
public boolean classificado(int votosminimos)
{
return (this.votos >= votosminimos);
}
public boolean classificado()
{
return (this.votos >= 10);
}
public void mostrarDados(int i)
{
System.out.print((i + 1) + " " + this.numero + " " + this.nome + " " + this.votos);
}
}
class LerCandidato
{
public static void main(String[] args) throws Exception
{
int votosminimos, soma = 0, maior = 0;
double media;
String mensagem;
System.out.println("Digite a quantidade de candidatos: ");
Candidato candidatos[] = new Candidato[JUtil.readInt()];
for (int i = 0; i < candidatos.length; i++)
{
candidatos[i] = new Candidato();
System.out.println("Informe o número do candidato: ");
candidatos[i].numero = JUtil.readInt();
System.out.println("Informe o nome: ");
candidatos[i].nome = JUtil.readString();
System.out.println("Informe a quantidade de votos: ");
candidatos[i].votos = JUtil.readInt();
soma += candidatos[i].votos;
if ((i == 0) || (candidatos[i].votos > candidatos[maior].votos))
{
maior = i;
}
}
media = (double) soma / candidatos.length;
System.out.println("Informe o número mínimo de votos: ");
votosminimos = JUtil.readInt();
System.out.println("Número Código Nome Votos Classificado");
for (int i = 0; i < candidatos.length; i++)
{
candidatos[i].mostrarDados(i);
if (votosminimos != 0)
{
mensagem = (candidatos[i].classificado(votosminimos)) ? " Sim, Excedeu " + (candidatos[i].votos - votosminimos) : " Não, Faltou " + (votosminimos - candidatos[i].votos);
}
else
{
mensagem = (candidatos[i].classificado()) ? " Sim, Excedeu " + (candidatos[i].votos - 10) : " Não, Faltou " + (10 - candidatos[i].votos);
}
System.out.println(mensagem);
}
System.out.println("A soma dos votos = " + soma);
System.out.println("Média dos votos = " + media);
System.out.println("O mais votado: " + candidatos[maior].nome + " com " + candidatos[maior].votos);
JUtil.pause();
}
}