pessoal estou com a seguinte dificuldade:
tenho que ler numeros e armazenar em um vetor mas sem limitar o vetor para uma quantidade determinada de numeros ele tem q aceitar numeros até q o usuario digite zero, como faço isso?
pessoal estou com a seguinte dificuldade:
tenho que ler numeros e armazenar em um vetor mas sem limitar o vetor para uma quantidade determinada de numeros ele tem q aceitar numeros até q o usuario digite zero, como faço isso?
Se vc quiser um vetor sem “limites”, umaa boa dica pode ser usar uma list.
int number, cont = 0;
int[] vet = new int[ 10 ];
while( ( number != 0 ) || ( cont < vet.length ) ) {
number = read.nextInt();
vet[ cont ] = number;
cont++;
}
Eu to começando Henrique ainda não sei fazer Lista, isso é pra um trabalho que eu tenho q fazer, bem dificil por sinal.
E eu preciso tirar nota maxima pra passar direto 
vou requisitar a ajuda de vcs outras vezes…
E obrigado WandersonLP, vou fazer isso.
Welington o q é esse comando na linha 6?
read.nextInt();
Algum leitor… o Scanner por exemplo.
ou isso está simplificado, porque não sei o que ele vai usar
para ler os números,
se vai usar o Scanner ou JOptionPane;
Scanner read = new Scanner( System.in );
desculpa se confundi alguém!
SORRY!
Vejam é isso q eu preciso fazer:
i) Cada cartão de aposta possui um número de controle, um inteiro maior que zero, que deverá ser digitado pelo usuário (deverá ser validado o número de controle ? o valor zero indica o fim da leitura dos cartões de aposta);
é uma das especificações do programa, mas para entrada e saida de dados nos usamos uma classe chamada InOut.
quando queremos solicitar que o usuario digite algo fazemos assim:
vet[ind]=InOut.leInt("Digite os numeros sorteados (Entre 00 e 59):");
por isso eu tenho q fazer com os comados bem limitados, alguma sugestão?
int number, cont = 0; int[] vet = new int[ 10 ]; while( ( number != 0 ) || ( cont < vet.length ) ) { number = read.nextInt(); vet[ cont ] = number; cont++; }
Oi,
neste exemplo você está limitando o vetor com tamanho de 10.
Na realidade, quando criado o vetor é obrigatório inicializa-lo.
Por isso o uso de um ArrayList ou uma List é válido.
Você pode criar um ArrayList assim.:
//
// Criação do Array.
//
ArrayList
lo_al_number = new ArrayList();
//
// Adiciona conteudo no Array.
//
lo_al_number.add(Object);
E para pegar algum conteudo do array, você pega dest amaneira.:
//
// Recebe o conteudo do Array.
//
lo_al_number.get(int index);
Espero ter ajudado.
Tchauzin!
Ajudou sim lina, muito obrigado.
Mas eu não posso usar listas…
tenho q fazer de outra forma 
ah, só expilcando
//biblioteca
import java.util.Scanner;
public class Simple {
public static void main( String args[] ){
//cria um objeto de Scanner para leitura
//o nome read é opcional, pode ser qualquer um
//lei, leitor etc.
Scanner read = new Scanner( System.in );
char c;
int i;
float f;
double;
String s;
//faz a leitura dos dados
c = read.nextChar();
i = read.nextInt();
f = read.nextFloat();
d = read.nextDouble();
s = read.nextLine();
}
}
Oi,
apenas um exemplo simples para mexer a sua imaginação.:
//
// Contador que irá incrementar o vetor.
//
int
cont = 1;
//
// Limita um vetor de int para 9999.
//
int[]
ln_vet = new int[9999];
//
// Percorre até digitar o numero 0.
//
while (true)
{
//
// Pergunta o número do cartão.
//
int
ln_number = Integer.parseInt(JOptionPane.showInputDialog("Digite o número do cartão: "));
//
// Se digitado 0.
//
if (
ln_number == 0
)
{
//
// Para o looping.
//
break;
}
//
// Se qualquer outro digito.
//
else
{
//
// Adiciona no vetor e incrementa a contagem.
//
ln_vet[cont] = ln_number;
cont++;
}
}
//
// Looping apenas para mostrar o conteudo do vetor.
//
for (
int
ln = 0
;
ln < ln_vet.length
;
ln++
)
{
if (
ln_vet[ln] > 0
)
{
System.out.println("Número do cartão de número "+ln+":"+ln_vet[ln]);
}
}
Tchauzin!
Obrigadão lina…
agora vou quebrar a cabeça aqui pra fazer o resto

A lina e sua identação que confunde a mente.
é verdade eu tbm senti um pouco de dificuldade por causa da identação…
mas isso é o de menos
Vlw lina 
voce pode fazer um classe com um numero de vetor indefinido
cada vez que vc manda um objeto para essa classe. a classe vai inicializar um novo vetor com +1 de tamanho do vetor antigo.
class GuardarInt{
private int[] Vet = new int[0];
//Methoden
public void setNummer(int i)
{
int tamanho = Vet.length+1;
Vet = new int[tamanho];
Vet[tamanho-1] = i;
}
public int[] getVet()
{
return Vet;
}
}
Vlw hantarox!!!
Boa ideia tbm.
O codigo com a Classe GuardarInt iria ficar mais ou menus assim:
Classe GuardarInt
class GuardarInt{
private int[] Vet = new int[0];
//Methoden
public void setNummer(int i)
{
int tamanho = Vet.length+1;
Vet = new int[tamanho];
Vet[tamanho-1] = i;
}
public int[] getVet()
{
return Vet;
}
}
Main
public static void main(String[] args) {
// TODO Auto-generated method stub
int index;
GuardaInt lista = new GuardaInt();
int listaint[];
do
{
index = InOut.leInt("Digite os numeros sorteados (Entre 00 e 59):"); //aqui ele le 1 numero e coloca dentro de um Intenger
if(index != 0){ // se o numero nao for igual ao 0
lista.setNummer(index); //ele salva o numero na Classe GuardaInt
}
else{ //caso seja 0 ele para
break;
}
}while(true);
listaint = lista.getVet();
for(int x : listaint) //esse eh a forma simplificade de for(int i = 0; i < listaint.length; i++)
{
System.out.print(x);
}
}
Obs: tome cuidado com do-while(true) eh um laço infinito se vc esquecer de colocar break ou fazer de um jeito que ele nao pare. vai ficar rodando e nunca vai parar!!!
espero ter ajudado
Abraco Hantarox
O codigo com a Classe GuardarInt iria ficar mais ou menus assim:Classe GuardarInt
class GuardarInt{ private int[] Vet = new int[0]; //Methoden public void setNummer(int i) { int tamanho = Vet.length+1; Vet = new int[tamanho]; Vet[tamanho-1] = i; } public int[] getVet() { return Vet; } }espero ter ajudado
Abraco Hantarox
Cara seu código a cada elemento que voce tenta adicionar ele cria um novo array com uma posição a mais e grava o valor nessa ultima. Mas todos os outros dados são perdidos. Voce precisa copiar os dados antigos pro novo.
tem razao Mark_Ameba fiz o codigo rapidinho nao deu pra testar. :?
so o ultimo valor eh salvo.
igual o mark falo tem que copiar os dados.
vlw por avisar
OK,
Vlw pessoal, vlw hantarox e mark.
eu consegui fazer o codigo e funcionou certinho
Obrigadão…
Haverá problema caso eu use Scanner e JOptionPane juntos?se sim…pq?
sou iniciante e não estou conseguindo resolver a maioria de meus problemas na programação!
obrigado