Crie uma classe estudante que dentro dela tenha métodos que recebam um array de notas que realizam as seguintes operações. a) Retorna a nota máxima na metade intermediária do Array. b) imprime a nota mais alta da terceira metade do array sem que seja par. c) imprime todas notas que são primos na primeira metade. d) fazer um método que imprime notas que sejam primos e impares.
Soluções para a tarefa
em linguagem java a lógica é a seguinte:
public class Estudante {
public double maiorIntermedia(double notas[]){
int p =(int)Math.floor(notas.length/3);
double MaiorNota=0;
for(int c=p+1/3;c<p+p;c++){
if(notas[c]>MaiorNota){
MaiorNota = notas[c];
}
}
return MaiorNota;//maior nota do intervalo intermediário do Array.
}
public void maiorTerceiraM(double notas[]){
int p =(int)Math.floor(notas.length/3);
double MaiorNota=0;
for(int c=p+p;c<notas.length;c++){
if(notas[c]>MaiorNota){
if(notas[c]%2!=0){
MaiorNota = notas[c];
}
}
}
System.out.println(MaiorNota);//maior nota impar da terceira metade.
}
public void primasPrimeiraM(double notas[]){
int p =(int)Math.floor(notas.length/3);
for(int c=0;c<p;c++){
if(isPrime(notas[c])){
System.out.println(notas[c]);//todas notas primas da primeira metade
}
}
}
public void primasImpares(double notas[]){
for (int c=0;c<notas.length;c++){
if(isPrime(notas[c])){
if(notas[c]%2!=0){
System.out.println(notas[c]); //todas as notas primas pares
}
}
}
}
private static boolean isPrime(double number) {
number = Math.abs(number);
if (number % 2 == 0) {
return false;
}
for (long i = 3; i * i <= number; i += 2) {
if (number % i == 0) {
return false;
}
}
return true;
}//metodo privado para verificar se um número é primo
}