Ola Galera? Criei um programa para o trabalho da faculdade que calcula o lucro da loja de eletrodomésticos e estou tendo dificuldades na classe TesteProduto.
Poderiam me ajudar.
package eletrodomesticos;
import javax.swing.JOptionPane;
public class TesteProduto {
static Produto arrayproduto[] = new Produto[10];
public static void ordenaSelectionSort(int tamarray) {
int posmenor, i, j;
String nome, nomeposmenor;
Produto prodposmenor = new Produto();
Produto prod = new Produto();
Produto aux = new Produto();
for (i = 0; i < tamarray - 1; i++) {
posmenor = i;
prodposmenor = arrayproduto[i];
nomeposmenor = prodposmenor.getNome();
for (j = i + 1; j < tamarray; j++) {
prod = arrayproduto[j];
nome = prod.getNome();
if (nome.compareTo(nomeposmenor) < 0) {
posmenor = j;
nomeposmenor = prod.getNome(); //atenção: faça esta correção, acrescentando este comando
}
}
aux = arrayproduto[posmenor];
arrayproduto[posmenor] = arrayproduto[i];
arrayproduto[i] = aux;
}
}
public static void main(String[] args) {
Produto prod;
int k=0, nroprod;
int quantidade;
String s, saida;
StringBuilder mensagem;
for (;;) {
s = JOptionPane.showInputDialog("INFORME A QUANTIDADE DE PRODUTOS A SEREM CADASTRADOS DE 1 A " + arrayproduto.length + " :");
try {
nroprod = Integer.parseInt(s);
if (nroprod <= 0 || nroprod > arrayproduto.length) {
JOptionPane.showMessageDialog(null, "Inválido. Digite UMA QUANTIDADE DE PRODUTOS VÁLIDA. ");
} else {
break;
}
} catch (NumberFormatException e) {
saida = "Não é possível converter a string " + s + " para o tipo int.\n";
JOptionPane.showMessageDialog(null, saida, "Exceção", JOptionPane.ERROR_MESSAGE);
}
} // for ;;
//pede e lê os dados do produto
for (k=0; k < nroprod; k++){
prod = new Produto();
prod.setNome(JOptionPane.showInputDialog(“Informe o nome do produto”+(k+1)+"?"));
prod.setPrcusto(Integer.parseInt(JOptionPane.showInputDialog(“Informe o Preço de Custo”)+(k+1)+"?"));
for (k=0; k < nroprod; k++){
prod = new Produto();
// o atributo nome é String e não precisa ser validado
prod.setNome(JOptionPane.showInputDialog("informe a matricula do produto “)+(k+1)+”?)));
//solicitação do atributo tipo com validação persistente e bloco try catch
prod.calculaMaiorLucro(Integer.parseInt(JOptionPane.showInputDialog("Informe “+(k+1)+”? “)));
for(;;){
s= JOptionPane.showInputDialog(” "+(k+1));
quant = Integer.parseInt(s);
if (quant == 1 || quant == 2){
prod.setQuant();
prod. (.get());
break;
quantidade = Integer.parseInt(s);
if){
prod.setPrcusto;
break;
}
else { JOptionPane.showMessageDialog(null,“Preço de Custo Inválido”, “Erro”,) JOptionPane.ERROR_MESSAGE);
continue;
}
}
catch (NumberFormatException erro) {
saida = "Não é possível converter a string “+s+ " à variável int tipo\n”;
JOptionPane.showMessageDialog(null,saida,“Exceção”,JOptionPane.ERROR_MESSAGE);
continue;
}
} //for ;;
prod.setLucro(Double.parseDouble(JOptionPane.showInputDialog("Qual é o salário do funcionário(a) “+(k+1)+”? ")));
arrayproduto[k]=produto;
}
//
prod = arrayproduto[k];
// mostra os dados usando uma mensagem da classe StringBuilder
mensagem.append(“Nome do Produto: " +prod.getNome()+”\n");
mensagem.append(“Quantidade: " + prod.getQuantidade()+”\n");
mensagem.append(“Valor de Custo:” + prod.getPrcusto()+"\n");
mensagem.append(“Valor de Venda: " + prod.getPrvenda()+”\n");
mensagem.append(“Lucro” +prod.getLucro()+"\n");
}
JOptionPane.showMessageDialog(null,mensagem, “´Calculo de Lucro sem ordenação”,JOptionPane.INFORMATION_MESSAGE);
ordenaSelectionSort(nroprod);
mensagem = new StringBuilder();
for (k=0; k < nroprod; k++){
prod=arrayproduto[k];
mensagem.append("Nome do Produto: " +prod.getNome()+"\n");
mensagem.append("Quantidade: " + prod.getQuantidade()+"\n");
mensagem.append("Valor de Custo:" + prod.getPrcusto()+"\n");
mensagem.append("Valor de Venda: " + prod.getPrvenda()+"\n");
mensagem.append("Lucro" +prod.getLucro()+"\n");
}
JOptionPane.showMessageDialog(null,mensagem, “Calculo de Lucro ORDENADOS por nome”,
JOptionPane.INFORMATION_MESSAGE);
calculaMaiorLucro () }
calculaMaiorFaturamento() }
}
}