Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

paulo silval

Atribuição de valores num array

Mensagens Recomendadas

paulo silval    0
paulo silval

Boas noites pessoal, estou com uma duvida.

To a tentar fazer uma maquina de multibanco, onde o meu dilema e inserir as notas, neste caso usei o codigo a seguir

int [] dinheiro = {5,10,20,50,100,200,500};

A minha duvida é se posso usar os valores do objecto por ex:

System.out.println("Introduza a quantidade?");

5

System.out.println ("A quantidade introduzir foi" 5 "€");

ou tenho que dar valores para o array?

E que tenho que introduzir estas notas mas nao tenho tida mais ideias.

obrg, deste ja :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

Podes validar se o valor inserido está no array, se é só isso que pretendes:

int input;
// pede ao utilizador

boolean in_array = false;

for (int i : dinheiro) {
    if (input == i) {
        in_array = true;
        break;
    }
}

if (in_array) ; // inserção válida
else ; // inserção inválida

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
AngusYoung    5
AngusYoung

Primeiro adicionas o input com o scanner:

 int variávelDoInput = NomeDoScanner.nextInt(); 

Ao receber o input, verificas sé é uma quantia válida com if-else aninhados:


if(variávelDoInput < 50 || variávelDoInput > 50) {
System.out.println("A quantia inserida é válida");
    else if(variávelDoInput < 20 || variávelDoInput > 20) {
System.out.println("A quantia inserida é válida");
         else if(variávelDoInput < 10 || variávelDoInput > 10) {
System.out.println("A quantia inserida é válida");
            else if(variávelDoInput < 5 || variávelDoInput > 5){
      System.out.println("A quantia inserida é válida");
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
brunoais    69
brunoais

Primeiro adicionas o input com o scanner:

 int variávelDoInput = NomeDoScanner.nextInt(); 

Ao receber o input, verificas sé é uma quantia válida com if-else aninhados:


if(variávelDoInput < 50 || variávelDoInput > 50) {
System.out.println("A quantia inserida é válida");
    else if(variávelDoInput < 20 || variávelDoInput > 20) {
System.out.println("A quantia inserida é válida");
         else if(variávelDoInput < 10 || variávelDoInput > 10) {
System.out.println("A quantia inserida é válida");
            else if(variávelDoInput < 5 || variávelDoInput > 5){
      System.out.println("A quantia inserida é válida");
}

Se ele fizer assim o valor irá ser sempre válido

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
paulo silval    0
paulo silval

obr a tdx pela ajuda.

mais uma coisinha, o valor do limite e de 2000€.

Dentro do for tenho que colocar um contador para quando a quantia introduzida e de xx€, para que o ciclo se repetir ate que quando chega ao limite para.

Obg.. :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
paulo silval    0
paulo silval

Boas,

Não será mais fácil utilizares um enum com todos os valores das notas?

Obrigado,

Francisco Loureiro

Como faço isso?

Tas a falar de importar txt ou int de varios valores.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

@AngusYoung:

Se quiseres utilizar ifs encadeados, tens que permitir que a variável entre nos outros. Ou seja, a tua ideia seria colocar um if para cada valor, logo só tens que comparar com ==. Mas, escrito de outra forma...

switch (input) {
    case 500:
    case 200:
    case 100:
    case 50:
    case 20:
    case 10:
    case 5:
        //válido
        break;
    deafult:
        // inválido
}

Fica sempre mais organizado. Mas o torna inútil a existência do array com estes valores, que por acaso é uma solução mais adequada :)

@paulo silva

Agora, o que fiquei sem perceber é a questão dos 2000€. Tu queres permitir inputs de quantias que têm que ser divisíveis pelas notas que há? Basta verificar se o input é divisível por 5.

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade