estou com um grande problema…to a semanas fazendo esse fonte e não ta funcionando…o problema está na ordenação do array…
mas não sei em que parte…alguem pode me ajudar???
obrigado
import javax.swing.*;
class orcamento {
private String nome_cliente, nome_item[]=new String[100];
private int qtde;
private double preco[]=new double[100];
private double custo=0;
public orcamento() {
nome_cliente="";
for (int i=0; i<100; i++) {
nome_item[i]="";
preco[i]=0;
}
qtde=0;
}
public void Leitura() {
nome_cliente= JOptionPane.showInputDialog(null, "Digite o nome do cliente : ");
qtde=Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a quantidade de itens : "));
for (int i=0; i<qtde; i++) {
nome_item[i]=JOptionPane.showInputDialog(null, "Digite o nome do item " + (i+1) + ":");
preco[i]=Double.parseDouble(JOptionPane.showInputDialog(null, "Digite o preco do item" + (i+1) + ":" ));
}
}
public void Calcula() {
for (int i=0; i<qtde; i++){
custo = custo + preco[i];
}
}
public void Dolares() {
String str="";
JOptionPane.showMessageDialog(null, "Itens Acima de 100 reais : ");
for(int i=0;i<qtde;i++)
if(preco[i]>100){
str=str+"Nome item " + (i+1)+ ":"+nome_item[i]+"\n";
str=str+"preco do item " + (i+1)+ ":"+preco[i]+"\n";
}
JOptionPane.showMessageDialog(null,str);
}
public void Imprime() {
String str="";
str= str + "Nome cliente :" + nome_cliente + "\n";
str= str + "Qtde de itens :" + qtde + "\n";
for (int i=0; i<qtde; i++)
{
str=str + "Nome do item :" + nome_item[i] + "\n";
str= str + "Preco de cada item :" + preco[i] + "\n";
}
str= str + "CUSTO TOTAL : " + custo + "\n";
JOptionPane.showMessageDialog(null, str);
}
protected void finalize() {
JOptionPane.showMessageDialog(null, "Destruindo...[" + this.getClass().getName() + "]...");
nome_cliente="";
for (int i=0; i<100; i++) {
nome_item[i]="";
preco[i]=0;
}
qtde=0;
Imprime();
Calcula();
Dolares();
}
}
public class PUTA {
public static void main(String args[]) {
int n;
n=Integer.parseInt(JOptionPane.showInputDialog(null, "Qual a quantidade de Orçamentos ?"));
orcamento vet[]= new orcamento[n];
for(int i=0; i<n; i++) {
vet[i]=new orcamento();
vet[i].Leitura();
vet[i].Calcula();
vet[i].Dolares();
vet[i].Imprime();
}
int op=Integer.parseInt(JOptionPane.showInputDialog(null, "Digite 1 para ordem crecente ou 2 para ordem decrecente: "));
int aux=0;
if(op==1){
JOptionPane.showMessageDialog(null," O usuario digitou para ordem crecente ");
orcamento vet[]= new orcamento[n];
for(int i=0;i<=n;i++){
for(int j=1+i;j<=n;j++){
if(vet[i]>vet[j]){
aux=vet[i];
vet[i]=vet[j];
vet[j]=aux;
}
}JOptionPane.showMessageDialog(null,vet[i]);
}
}
if(op==2){
JOptionPane.showMessageDialog(null,"Fila ordenada Decrescente" );
for(int i=0;i<=n;i++){
for(int j=1+i;j<=n;j++){
if(vet[i]<vet[j]){
aux=vet[i];
vet[i]=vet[j];
vet[j]=aux;
}
}
JOptionPane.showMessageDialog(null,vet[i]);
}
}
}
}