Concatenar codigo

2 respostas
C

Pessoal tem como diminuir esse codigo??
queria saber se ta certo assim ou da pra diminuir o codigo.Obrigado.

public class VetorInt {

	private int numero[];
	 int[] ordenar = new  int[10];

	
	public VetorInt(int qtd) {
		numero = new int[qtd];
	
		for (int i = 0; i < numero.length; i++) {
			numero[i] = -1;

		}
		
	}

	public static void main(String[] args) throws Exception {
		VetorInt v = new VetorInt(10);

		v.AddNumero();

		System.out.println("soma total:" + v.Soma());
		System.out.print("media :" + v.media());
		System.out.print("maior numero:" + v.MaiorNumero());
		System.out.println("menor numero:" + v.MenorNumero());
	
		v.RetornarDecrescente();
		v.RetornarElementos();

	}

	public void AddNumero() throws Exception {

		for (int i = 0; i < numero.length; i++) {
		    
			
		    	
			numero[0] = 50;
			numero[1] = 10;
			numero[2] = 5;
			numero[3] = 3;
			numero[4] = 4;
			numero[5] = 5;
			numero[6] = 6;
			numero[7] = 5;
			numero[8] = 3;
			numero[9] = 10;
			if (numero == null){
				System.out.println("numero[" + i + "] e null");
		}
			
		}
	}

	public int MaiorNumero() {

		int maior = 0, soma = 0;
		for (int i = 0; i < numero.length; i++) {
			soma =  numero[i];

			if (soma >= maior) {
				maior = soma;
			}
		}

		return maior;
	}

	public int MenorNumero() {
		int menor = 50, soma = 0;
		for (int i = 0; i < numero.length; i++) {
			soma =   numero[i];

			if (soma <= menor) {
				menor = soma;
			}
		}

		return menor;
	}

	public int Soma() {
		int soma = 0;
		for (int i = 0; i < numero.length; i++) {
			soma = soma + numero[i];

		}
		return soma;

	}

	public float media() {
		float media = 0;
		float conta = 0;
		float soma = 0;
		for (int i = 0; i < numero.length; i++) {
			soma = soma + numero[i];

			conta++;

		}

		media = soma / conta;

		return media;

	}

	public void RetornarElementos() {

		System.out.println(numero[0]);
		System.out.println(numero[1]);
		System.out.println(numero[2]);
		System.out.println(numero[3]);
		System.out.println(numero[4]);
		System.out.println(numero[5]);
		System.out.println(numero[6]);
		System.out.println(numero[7]);
		System.out.println(numero[8]);
		System.out.println(numero[9]);

	}
	
	public void RetornarDecrescente(){
		int tempVariavel;
		boolean EstarnaOrdenado = false;
	
		while (!EstarnaOrdenado) {
		
		EstarnaOrdenado = true;
		for (int i = 1; i < numero.length; i++) {
			System.out.print("numero primeiro:"+numero[i - 1] );
			System.out.print("numero segundo :"+numero[i] );
		if (numero[i - 1] < numero[i]) {
			System.out.print("numero -1:"+numero[i - 1] );
			System.out.print("numero :"+numero[i] );
			EstarnaOrdenado = false;
			tempVariavel = numero[i];  
				numero[i] = numero[i - 1];  
				numero[i - 1] = tempVariavel;  
		
				System.out.println("Ordem atual: " + numero[0] + " "
						+ numero[1] + " " + numero[2] + " "
						+ numero[3] + " " + numero[4] + " "
						+ numero[5] + " " + numero[6] + " "
						+ numero[7] + " " + numero[8] + " "
						+ numero[9]);
				
		
		}
		}
	
		}
	}

}

2 Respostas

J

Alí no teu método RetornarElementos() podes fazer um laço for.

public void RetornarElementos() {   
  
        for(int i=0; i<numero.legth; i++){
           System.out.println(numero[i]);   
        } 

    }
ViniGodoy
  1. Você não precisa do for no addNumero, já que está atribuindo diretamente.

  2. Em maiorNumero a linha:
    soma = numero[i];

Deve estar antes do for.

O seu método media pode ser simplificado para:

public float media() { return soma() / (float)numero.length; }

Criado 23 de junho de 2008
Ultima resposta 23 de jun. de 2008
Respostas 2
Participantes 3