Eu criei 2 classes, uma chamada Numeros e outra
Chamada TesteNumeros.
Não estou entendo pq está apresentando alguns erros. Quem puder me
ajudar, ficarei agradecido.
Segue os códigos:
package Exercicio2;
public class Numeros {
public int calcMedia(int num[]){
int media = 0;
for (int i = 0; i < num.length -1; i++){
media += num[i];
}
return media / num.length;
}
public int calcMaior(int num[]){
int maior = 0;
for (int i = 0; i < num.length -1; i++){
if (num[i]>= num[i+1]){
maior = num[i];
}
}
return maior;
}
public int calcMenor(int num[]){
int menor = 0;
for (int i = 0; i < num.length -1; i++){
if (num[i]<= num[i+1]){
menor = num[i];
}
}
return menor;
}
}
package Exercicio2;
import javax.swing.JOptionPane;
public class TesteNumeros {
public static void main(String[] args) {
int n = Integer.parseInt(JOptionPane.showInputDialog("Insira o
tamanho do vetor"));
int[] num = new int[n];
for (int i = 0; i < n; i++ ){
num[i]= Integer.parseInt(JOptionPane.showInputDialog("Insira um
número"));
}
}
// Gostaria de chamar os métodos da classe números nessa classe, aqui que ocorrem os erros.
calcMedia(num);
calcMaior(num);
calcMenor(num);
}
Bom, não sei exatamente quais são os erros que está encontrando, mas você está com algumas falhas no seu algoritmo. No calculaMedia você está desprezando sempre o último elemento dos seu vetor!! No calculaMaior e calculaMenor você ignora o numero que você colocou na variável maior e menor, respectivamente. Você está comparando apenas os elementos adjacentes do vetor sem se preocupar com o número que está em maior( ou menor).
Se não for isso diga quais são os erros!
Vamos la!
Não sei se esse é o erro que acontece, ja que você não postou o erro
Mas eu fiz umas correções no seu código :
package exercicio2;
import javax.swing.JOptionPane;
public class TesteNumeros {
public static void main(String[] args) {
Numeros numero = new Numeros();//Aqui eu criei a instancia do obejto da sua classe Numeros, sem esse objeto vc não consegue chamar os seus métodos
int n = Integer.parseInt(JOptionPane.showInputDialog("Insira o tamanho do vetor"));
int[] num = new int[n];
for (int i = 0; i < n; i++) {
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Insira um número"));
}
//Agora aqui, usei o objeto que eu criei para chamar cada método da classe Numeros
numero.calcMedia(num);
numero.calcMaior(num);
numero.calcMenor(num);
}
}
Não testei para ver se seu algoritmo esta funcionando.
Só arrumei o código de forma que funcione da maneira correta.
Qualquer coisa posta ae.
@Edit:
Nessa parte, como esses métodos retornam valores, use algo para guarda-los ou exibi-los:
System.out.println(numero.calcMedia(num));
System.out.println(numero.calcMaior(num));
System.out.println(numero.calcMenor(num));
Bom dia.
Fiz algumas modificações no seu código, amigo.
Verifique se esse era o resultado desejado!!
Obs: a Média está sendo calculada com valores em INT, recomendo utilizar valores double para esse cálculo, por causa de perda de precisão.
[code]import javax.swing.*;
public class Main {
public static void main(String[] args) {
Numeros x = new Numeros();
int n = Integer.parseInt(JOptionPane.showInputDialog("Insira o tamanho do vetor"));
int[] num = new int[n];
for (int i = 0; i < n; i++) {
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Insira um número"));
}
System.out.println("Média dos Valores: " + x.calcMedia(num));
System.out.println("Maior dos Valores: " + x.calcMaior(num));
System.out.println("Menor dos Valores: " + x.calcMenor(num));
}
}[/code]
Classe Números:
[code]public class Numeros {
public int calcMedia(int num[]) {
int media = 0;
for (int i = 0; i < num.length; i++) {
media += num[i];
}
return (media / num.length);
}
public int calcMaior(int num[]) {
int maior = num[0];
for (int i = 0; i < num.length; i++) {
if (num[i] > maior) {
maior = num[i];
}
}
return maior;
}
public int calcMenor(int num[]) {
int menor = num[0];
for (int i = 0; i < num.length; i++) {
if (num[i] < menor) {
menor = num[i];
}
}
return menor;
}
}[/code]
@Edit
Esqueci de citar que utilizei o código do Amigo “juliocesarss” também!
Ficou bacana, aí facilitou as modificações :lol:
Boa tarde pessoal… agradeço a todos a colaboração, vou testar a noite e informo o resultado.
Muito Obrigado.
Obrigado a todos!!!
Funcionou certinho, segue o final.
package Exercicio2;
import javax.swing.JOptionPane;
public class TesteNumeros {
public static void main(String[] args) {
Numeros numeros = new Numeros();
int n = Integer.parseInt(JOptionPane.showInputDialog("Insira o tamanho do vetor"));
int[] num = new int[n];
for (int i = 0; i < n; i++ ){
num[i]= Integer.parseInt(JOptionPane.showInputDialog("Insira um número"));
}
JOptionPane.showMessageDialog(null,"A média dos números é: " + numeros.calcMedia(num));
JOptionPane.showMessageDialog(null,"O maior dos números é: " + numeros.calcMaior(num));
JOptionPane.showMessageDialog(null,"O menor dos números é: " + numeros.calcMenor(num));
}
}