Vectores

6 respostas
M

Olá, tenho de construir uma função que constroi um vector com os numeros naturais até um dado valor n.
ex: naturals(5) ->{1,2,3,4,5}
eu fiz o meu programa

import java.util.Scanner;

public class IntArrays{

public static int[] naturals(int n){

int contador = 1;

int numero = 0;

int[] v = new int[n];

while(contador <= n){

v[numero] = contador;

contador ++;

numero ++;

}

return v;

}
public static void main(String arg[], int naturals){
	
	Scanner in = new Scanner(System.in);
	int val;
	System.out.println("Introduza o valor de n:" );
	val=in.nextInt();
	
	?

	System.out.print("vector:" +n);


}

}

A minha duvida é o que coloco antes do System.out.print para poder testar o programa.
Obrigada.

6 Respostas

Diguinho.Max

Amigo seja mais especifico nao entendi muito bem o que você quiz dizer como testar o meu programa.

olhando assim rapidamente percebi que vc nao instancia o objeto.
eu faria da seguinte forma.

import javax.swing.JOptionPane;

public class NumerosNaturais {
	private int n = 0;
	private int[] naturais;

	public int getN() {
		return n;
	}

	public void setN(int n) {
		this.n = n;
	}

	public int[] criaNaturais() {
		naturais = new int[n];
		for (int i = 0; i < getN(); i++) {
			naturais[i] = i + 1;
		}
		return naturais;
	}

	public String imprimiNaturais() {
		String valores = "";
		for (int i = 0; i < naturais.length; i++) {
			valores = valores + naturais[i] + ", ";
		}
		return valores;
	}

	public static void main(String[] args) {
		NumerosNaturais nn = new NumerosNaturais();
		int numero = Integer.parseInt(JOptionPane
				.showInputDialog("Informe o numero de referencia."));
		nn.setN(numero);
		nn.criaNaturais();
		JOptionPane.showMessageDialog(null,
				"Vetor Criado:\n" + nn.imprimiNaturais());

	}

}

obs. amigo não fiz controles se o usuario digitar numeros negativos e fracionados ai é so implementar a logica ;D espero ter ajudado.
abs.

M

Diguinho.Max:
Amigo seja mais especifico nao entendi muito bem o que você quiz dizer como testar o meu programa.

olhando assim rapidamente percebi que vc nao instancia o objeto.
eu faria da seguinte forma.

import javax.swing.JOptionPane;

public class NumerosNaturais {
	private int n = 0;
	private int[] naturais;

	public int getN() {
		return n;
	}

	public void setN(int n) {
		this.n = n;
	}

	public int[] criaNaturais() {
		naturais = new int[n];
		for (int i = 0; i < getN(); i++) {
			naturais[i] = i + 1;
		}
		return naturais;
	}

	public String imprimiNaturais() {
		String valores = "";
		for (int i = 0; i < naturais.length; i++) {
			valores = valores + naturais[i] + ", ";
		}
		return valores;
	}

	public static void main(String[] args) {
		NumerosNaturais nn = new NumerosNaturais();
		int numero = Integer.parseInt(JOptionPane
				.showInputDialog("Informe o numero de referencia."));
		nn.setN(numero);
		nn.criaNaturais();
		JOptionPane.showMessageDialog(null,
				"Vetor Criado:\n" + nn.imprimiNaturais());

	}

}

abs.

Obrigada, mas preciso manter esta parte da estrutura do programa

public class IntArrays{

public static int[] naturals(int n){

int contador = 1;

int numero = 0;

int[] v = new int[n];

while(contador <= n){

v[numero] = contador;

contador ++;

numero ++;

}

return v;

}

o que eu queria saber agora era como acrescento ao programa a parte em que peço ao utilizador para inserir um valor de n e o programa devolve me devolve e a sequencia de numeros até n.
Por exemplo o utilizador dá ao n o valor 5
entao o programa devolverá uma resposta na seguinte forma {1,2,3,4,5}
mas não sei como imprimir isso, estou a aprender a programar agora e é a primeira vez que trabalho com vectores :S

S

coloque seu main assim

public static void main(String args[]) {

        Scanner in = new Scanner(System.in);
        int val;
        System.out.println("Introduza o valor de n:");
        val = in.nextInt();

        int[] vals;
        vals = naturals(val);
        String n = "";
        for(int i=0; i < vals.length; i++)
        {
            n = n + vals[i] + " ";
        }
       System.out.print("vector:" + n);

    }
}
M
Sevalle:
coloque seu main assim
public static void main(String args[]) {

        Scanner in = new Scanner(System.in);
        int val;
        System.out.println("Introduza o valor de n:");
        val = in.nextInt();

        int[] vals;
        vals = naturals(val);
        String n = "";
        for(int i=0; i < vals.length; i++)
        {
            n = n + vals[i] + " ";
        }
       System.out.print("vector:" + n);

    }
}

Muito Obrigada :D :D :D

Diguinho.Max
MariaDaniela:
Sevalle:
coloque seu main assim
public static void main(String args[]) {

        Scanner in = new Scanner(System.in);
        int val;
        System.out.println("Introduza o valor de n:");
        val = in.nextInt();

        int[] vals;
        vals = naturals(val);
        String n = "";
        for(int i=0; i < vals.length; i++)
        {
            n = n + vals[i] + " ";
        }
       System.out.print("vector:" + n);

    }
}

Muito Obrigada :D :D :D


hehe agora eu entendi por isso pedi pra explicar melhor. é da forma que nosso amigo te respondeu mesmo era só fazer um for :D

asousaj

MariaDaniela, cuidado para não gerar topicos duplicados.
Não entendi por que criou duas vezes.

Abç

Criado 11 de novembro de 2011
Ultima resposta 11 de nov. de 2011
Respostas 6
Participantes 4