Ajuda Programa No ECLIPSE!

//Faça um programa contendo os serviços que uma oficina mecanica pode realizar:
//Ordem de serviço (numero da OS,valor,serviço
//realizado,cliente).Leia as informações sobre varias ordens de serviço e determinado,ao final,a media,dos valores,o nome 
//do cliente que realizou o serviço mais caro,juntamente com a descrição desse serviço e a data de sua realização.
import javax.swing.JOptionPane;
public class off {
	 int numeroOS;
	 String clienteOS;
	 double valorOS;
	 String serviçoOS;
	 String dataOS;
                              public static void main(String[] args) {
    	 
     int numero = 0;
     String cliente;
     double valor;
     String serviço;
     String data;
     String aux;
    	                       off off_nova[] = new off [100];
     int i = 0;

        	         while(i<100){
    	
     	 aux = JOptionPane.showInputDialog ("Insira o numero da OS");
    	 numero = Integer.parseInt (aux);
    	 data = JOptionPane.showInputDialog ("Insira a Data");
    	 serviço = JOptionPane.showInputDialog ("Insira o Serviço Realizado");
    	 cliente = JOptionPane.showInputDialog ("Nome do Cliente");
    	 aux = JOptionPane.showInputDialog ("Insira o Valor do Serviço");
    	 valor = Double.parseDouble(aux);
      off_nova[i] = new off ();
      off_nova[i].clienteOS = cliente;
      off_nova[i].numeroOS = numero;
      off_nova[i].serviçoOS = serviço;
      off_nova[i].valorOS = valor;
      off_nova[i].dataOS = data;

     }
     double media = 0;
     double maior = 0;
     int index = 0;
                    for (int j=0;j<=i;j++){
    		 media += off_nova[j].valorOS ;
    		        if(off_nova[j].valorOS > maior);
    		        maior = off_nova[j].valorOS;
    		         index= j;
    	 }
                              
         media = media/(i+1); //porque i começa no 0    	
	                          System.out.println ("a media vale " + media);
                              System.out.println ("O maior valor é " + maior);
                              System.out.println ("a media vale " + media);   
                              System.out.println ("Do cliente " + off_nova[index].clienteOS);
                              System.out.println ("do serviço " + off_nova[index].serviçoOS);
                              System.out.println ("Nada Data " + off_nova[index].dataOS);
                              
                              


}
}



Olá galera, sou novo aqui no Fórum, meu primeiro post e ja com uma duvida. Sou estudante de 2 periodo de Engenharia de computação.

Eu gostaria que após essa pergunta :

 aux = JOptionPane.showInputDialog ("Insira o numero da OS");
    	 numero = Integer.parseInt (aux);

Se o “numero” inserido fosse “-1” O programa finalize com a mensagem “Programa finalizado”

Alguem pode me ajudar?

Obrigado

É Simples amigo, crie um bloco de validação

 aux = JOptionPane.showInputDialog ("Insira o numero da OS");  

if(aux == -1) {
//Finaliza o Sistema

}else {

         numero = Integer.parseInt (aux);  
         data = JOptionPane.showInputDialog ("Insira a Data");  
         serviço = JOptionPane.showInputDialog ("Insira o Serviço Realizado");  
         cliente = JOptionPane.showInputDialog ("Nome do Cliente");  
         aux = JOptionPane.showInputDialog ("Insira o Valor do Serviço");  
         valor = Double.parseDouble(aux);  
}

//para ficar melhor voce poderia fazer um while

	int aux;
		do {
			aux = Integer
					.valueOf(JOptionPane
							.showInputDialog("insira a ordem de serviço (*O Valor deve ser maior que 0)"));
		} while (aux < 0);

	}}