Desenvolver um programa em java que atenda as seguintes condicoes:
-Possuir uma classe produto que contenha os seguintes
atributos:codigo,descricao e valor;
-Possuir uma classe Eletrodomestico,que esta seja uma classe "filha"da
classe produto e possua o atributo voltagem;
-Possibilite o cadastro de 5 eletrodomesticos.Estas informacoes sobre os
eletrodomesticos deverao ser armazenadas em um array de objetos
eletrodomestico.
-As informacoes dos produtos deverao ser informadas via teclado.
-Deve possui metodos para calcular a media do valor de todos os
eletrodomesticos;calcular o produto mais caro e; calcular o produto
mais barato.
-Criar um metodo que imprime os eletrodomesticos por ordem crescente
de valor.
import javax.swing.*;
class Principal{
public static void main(String arg[]){
cadastro();
}
public static void cadastro(){
Eletrodomestico v[]=new Eletrodomestico[6];
for(int contador=1;contador<6;contador++){
v[contador]=new Eletrodomestico();
}
for(int contador=1;contador<6;contador++){
v[contador].codigo=Integer.parseInt (JOptionPane.showInputDialog("Digite um codigo:"));
v[contador].descricao=JOptionPane.showInputDialog("Digite um descricao:");
v[contador].valor=Integer.parseInt (JOptionPane.showInputDialog("Digite um valor:"));
}
calculaMedia(v);
calculaMaisBarato(v);
caculaMaisCaro(v);
ordemcrescent(v);
for(int contador=1;contador<6;contador++){
System.out.println(v[contador].valor);
}
}
public static void calculaMedia(Eletrodomestico a[]){
double media=0,
soma=0;
for(int contador=1;contador<6;contador++){
soma=a[contador].valor+soma;
}
media=soma/5;
System.out.println("*******************");
System.out.println("media"+ media+ "");
System.out.println("*******************");
}
public static void calculaMaisBarato(Eletrodomestico a[]){
int menor;
menor=999;
for(int contador=1;contador<6;contador++){
if(a[contador].valor<menor){
menor=a[contador].valor;
}
}
System.out.println("*******************");
System.out.println("menor valor"+ menor+ "");
System.out.println("*******************");
}
public static void caculaMaisCaro(Eletrodomestico a[]){
int maior;
maior=0;
for(int contador=1;contador<6;contador++){
if(a[contador].valor>maior){
maior=a[contador].valor;
}
}
System.out.println("*******************");
System.out.println("maior "+ maior+ "");
System.out.println("*******************");
}
public static void ordemcrescent(Eletrodomestico a[]){
for(int pass=1;pass<6;pass++){
for(int element=1;element<6;element++){
if(a[element].valor>a[element+1].valor){
swap(a,element,element+1);
}
}
}
}
public static void swap(Eletrodomestico a[],int first,int secord){
int hold;//area de armazenamento temporario para trocar
hold=a[first].valor;
a[first].valor=a[secord].valor;
a[secord].valor=hold;
}
}
minha duvida neste programa eh quanto a classificacao do valor em ordem crescente e a impressao do array.
Esta calculando certo a media do valor dos eletrodomesticos , o produto mais caro e o mais barato.
So estou com dificuldades em saber a classificacao e impressao do array.
Alguem poderia me ajudar achar o erro?
obrigado
[size=“11”]
[color=“red”]
- Editado: Aumente as chances de alguém responder o seu tópico. Use BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários. - Matheus[/color][/size] :joia:
