• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ex-dead

array completo para variavel?

5 mensagens neste tópico

boas..

tou a criar um programa que pede varios numeros ao utilizador e armazena estes numeros num array...

como este programa nao pede uma quantidade de numeros certa, (por exemplo o utilizador mete o programa a correr e insere apenas 5 numeros... da segunda vez que corre o programa ja so insere 2 numeros...) como faço para armazenar os numeros num array?

se o programa so pedisse 2 numeros bastava por que o primeiro numero ficava na 1º posiçao do array e o segundo numero ficava na 2º posiçao do array... mas como a quantidade de numeros pode variar nao sei como declarar o array completo para aquela variavel....

nao sei se me expliquei muito bem.. se nao compreenderem digam.

obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Das duas uma ou crias um array grande de forma a aceitar qualquer numero de inteiros dentro de determinados limites e crias um contador para saber quantos numero foram colocados.

Ou então usar um Vector ai não precisas de te preocupar com tamanhos porque ele adaptasse ao numero de elementos metidos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Das duas uma ou crias um array grande de forma a aceitar qualquer numero de inteiros dentro de determinados limites e crias um contador para saber quantos numero foram colocados.

Ou então usar um Vector ai não precisas de te preocupar com tamanhos porque ele adaptasse ao numero de elementos metidos.

Eu quero 2 tipos de arrays... um para String e outro para numeros inteiros...

tambem posso declarar um vector para Strings?

Se sim.. como faço para ele so separar as palavras quando dou um Enter e nao um espaço?

O programa vai estar num ciclo do  while... o programa vai fazer a pergunta que eu quiser ate que o utilizador em vez de escrever um valor escreva a palavra "continuar"..

portanto se eu inserir um vector na String, as frases que eu inserir nessa String vao para uma posicao seguinte que esteja disponivel ne? (ou seja o vector tera as frases ordenadas (a 1º frase vai para o lugar 1 do vector.. a 2º frase vai para o lugar 2 do vector e sempre por ai ate que seja null) certo?)

Eu nao sou muito bom a explicar aquilo que quero.. se nao perceberem avisem pfv...

Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

talvez seja melhor eu especificar aquilo que quero exactamente...

vou por aqui o codigo que tenho...

import java.util.*;

public class Dinheiros{

private static String tipo;
private static int quantidade;

public static void main (String []args){

	Scanner in=new Scanner (System.in);

	String [] tipoD = new String [20];
	int [] quantidadeD = new int [20];

	do{
		System.out.println("Escreva tudo em minusculas por favor");
		System.out.println("Escreva o tipo de moeda/nota (por exemplo 'notas de 5'): ");
		System.out.println("Escreva 'continuar' quando nao tiver mais nenhuim tipo de moedas/notas para inserir");
		String tipo=in.nextLine();
		tipoD [] = tipo;
		System.out.println("Escreva a quantidade de moedas/notas inseridas acima: ");
		System.out.println(tipo + " : "); 
		int quantidade=in.nextInt();
		quantidadeD [] = quantidade;
	}while (tipo != "Continuar");

		class Caixa {

				int [] Dinheiros = new int [50];

				do{
				System.out.println("Que tipo de moedas/notas deseja ver?");
				System.out.println("1-" + tipoD [1] + " euros");
				System.out.println("2-" + tipoD [2] + " euros");
				System.out.println("3-" + tipoD [3] + " euros");
				System.out.println("4-" + tipoD [4] + "euros");
				System.out.println("10-Total");
				String tipoTotal=in.nextLine();

				}while (tipo != null);

				switch (tipo){

					case 1:
						System.out.println ("Em " + tipoD [1] + " voce tem: " + quantidade [1] + " euros");
				}
			}
		}
}
} 

eu sei que este codigo esta mal feito... 

aquilo que eu quero fazer e que o utilizador insira o tipo de moeda/nota que quer (por exemplo : notas de 5) e que depois insira a quantidade de moedas/notas que tem desse tipo.

para isso eu tenho os arrays 'tipoD' e 'quantidadeD'... o problema e que o utilizador tanto pode inserir 1 tipo de moedas/notas... como inserir 9 (9 e o maximo.. moedas: 1 euro.. 2 euros.. notas: 5 euros.. 10 euros.. 20 euros.. 50 euros.. 100 euros.. 200 euros.. 500 euros..).

ou seja eu preciso que os dados sejam inseridos por ordem nos arrays.. por exemplo o utilizador quer inserir moedas de 1 euro.. e notas de 5 euros... eu preciso que as moedas de 1 euro fiquem no 1º lugar do array, e que as notas de 5 euros fiquem no 2º lugar do array...

e isto que eu nao sei como fazer...

se voces me conseguirem ajudar agradecia...

PS.: desculpem o texto tao grande :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem... ng me soube dizer aquilo que eu queria.. portanto acabei por faze lo de outra forma, mas ficou muito maior :S.. obrigado a todos na msm..

ficou algo tipo isto

import java.util.*;

public class Dinheiros{


public static void main (String []args){
        
        Scanner in=new Scanner (System.in);
	int [] quantidadeMA = new int [20];
	int [] quantidadeNA = new int [20];

		System.out.println('\n' + "		1 - Moedas");
		System.out.println('\n' + "		2 - Notas");
		System.out.println('\n' + "		3 - Continuar" + '\n'+ '\n'+ '\n');

		int tipo;

		while ((tipo=in.nextInt())!=3){

		switch (tipo){

			case 1:
				System.out.print('\n' + "1 - Moedas de 1 centimo");
				System.out.print('\n' + "2 - Moedas de 2 centimos");
				System.out.print('\n' + "3 - Moedas de 5 centimos");
				System.out.print('\n' + "4 - Moedas de 10 centimos");
				System.out.print('\n' + "5 - Moedas de 20 centimos");
				System.out.print('\n' + "6 - Moedas de 50 centimos");
				System.out.print('\n' + "7 - Moedas de 1 euro");
				System.out.print('\n' + "8 - Moedas de 2 euros" + '\n' + '\n');
				int tipoM=in.nextInt();

				System.out.print('\n' + "Escreva a quantidade: ");
				int quantiM=in.nextInt();

				switch (tipoM){
					case 1:
						quantidadeMA [0] = quantiM;
					break;
					case 2:
						quantidadeMA [1] = (quantiM*2);
					break;
					case 3:
						quantidadeMA [2] = (quantiM*5);
					break;
					case 4:
						quantidadeMA [3] = (quantiM*10);
					break;
					case 5:
						quantidadeMA [4] = (quantiM*20);
					break;
					case 6:
						quantidadeMA [5] = (quantiM*50);
					break;
					case 7:
						quantidadeMA [6] = (quantiM*100/100);
					break;
					case 8:
						quantidadeMA [7] = (quantiM*200/100);
					break;
				}
			break;

			case 2:
				System.out.print('\n' + "1 - Notas de 5 euros" + '\n');
				System.out.print("2 - Notas de 10 euros" + '\n');
				System.out.print("3 - Notas de 20 euros" + '\n');
				System.out.print("4 - Notas de 50 euros" + '\n');
				System.out.print("5 - Notas de 100 euros" + '\n');
				System.out.print("6 - Notas de 200 euros" + '\n');
				System.out.print("7 - Notas de 500 euros" + '\n' + '\n');
				int tipoN=in.nextInt();
				System.out.print('\n' + '\n');

				System.out.print("Escreva a quantidade: ");
				int quantiN=in.nextInt();

				switch (tipoN){
					case 1:
						quantidadeNA [0] = (quantiN*5);
					break;
					case 2:
						quantidadeNA [1] = (quantiN*10);
					break;
					case 3:
						quantidadeNA [2] = (quantiN*20);
					break;
					case 4:
						quantidadeNA [3] = (quantiN*50);
					break;
					case 5:
						quantidadeNA [4] = (quantiN*100);
					break;
					case 6:
						quantidadeNA [5] = (quantiN*200);
					break;
					case 7:
						quantidadeNA [6] = (quantiN*500);
					break;
				}
			break;
	    }
		}


		System.out.print('\n' + "		Que tipo de moedas/notas deseja ver: " + '\n' + '\n' + '\n');

			System.out.print('\n' + '\n' + '\n' +"		1 - Moedas de 1 centimo");
			System.out.print('\n' + "		2 - Moedas de 2 centimos");
			System.out.print('\n' + "		3 - Moedas de 5 centimos");
			System.out.print('\n' + "		4 - Moedas de 10 centimos");
			System.out.print('\n' + "		5 - Moedas de 20 centimos");
			System.out.print('\n' + "		6 - Moedas de 50 centimos");
			System.out.print('\n' + "		7 - Moedas de 1 euro");
			System.out.print('\n' + "		8 - Moedas de 2 euros");
			System.out.print('\n' + "		9 - Notas de 5 euros");
			System.out.print('\n' + "		10 - Notas de 10 euros");
			System.out.print('\n' + "		11 - Notas de 20 euros");
			System.out.print('\n' + "		12 - Notas de 50 euros");
			System.out.print('\n' + "		13 - Notas de 100 euros");
			System.out.print('\n' + "		14 - Notas de 200 euros");
			System.out.print('\n' + "		15 - Notas de 500 euros");
			System.out.println('\n' + "		20 - Sair" + '\n'+ '\n'+ '\n');

			int tipoa;
		while ((tipoa=in.nextInt())!=20){

			switch (tipoa){
				case 1:
					System.out.println('\n' +"Voce tem " + quantidadeMA [0] + " centimos em Moedas de 1 centimo");
					break;
				case 2:
					System.out.println('\n'+"Voce tem " + quantidadeMA [1] + " centimos em Moedas de 2 centimos");
					break;					
				case 3:
					System.out.println('\n'+"Voce tem " + quantidadeMA [2] + " centimos em Moedas de 5 centimos");
					break;
				case 4:
					System.out.println('\n'+"Voce tem " + quantidadeMA [3] + " centimos em Moedas de 10 centimos");
					break;
				case 5:
					System.out.println('\n'+"Voce tem " + quantidadeMA [4] + " centimos em Moedas de 20 centimos");
					break;
				case 6:
					System.out.println('\n'+"Voce tem " + quantidadeMA [5] + " centimos em Moedas de 50 centimos");
					break;
				case 7:
					System.out.println('\n'+"Voce tem " + quantidadeMA [6] + " euros em Moedas de 1 euro");
					break;
				case 8:
					System.out.println('\n'+"Voce tem " + quantidadeMA [7] + " euros em Moedas de 2 euros");
					break;
				case 9:
					System.out.println('\n'+"Voce tem " + quantidadeNA [0] + " euros em Notas de 5 euros");
					break;
				case 10:
					System.out.println('\n'+"Voce tem " + quantidadeNA [1] + " euros em Notas de 10 euros");
					break;
				case 11:
					System.out.println('\n'+"Voce tem " + quantidadeNA [2] + " euros em Notas de 20 euros");
					break;
				case 12:
					System.out.println('\n'+"Voce tem " + quantidadeNA [3] + " euros em Notas de 50 euros");
					break;
				case 13:
					System.out.println('\n'+"Voce tem " + quantidadeNA [4] + " euros em Notas de 100 euros");
					break;
				case 14:
					System.out.println('\n'+"Voce tem " + quantidadeNA [5] + " euros em Notas de 200 euros");
					break;
				case 15:
					System.out.println('\n'+"Voce tem " + quantidadeNA [6] + " euros em Notas de 500 euros");
					break;
				case 20:
					System.exit(1);
			}	
		}
}

}

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora