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

ex-dead

menu retorna null?

3 mensagens neste tópico

boas pessoal... para n variar ca estou eu com mais duvidas.

aquilo que eu estou a fazer e um programa que leia valores de moedas e notas... e no fim diga que tenho por exemplo : 2 euros em moedas de 1... 10 euros em notas de 5, etc... depois este programa soma os valores todos e diz me quanto tenho...

o meu problema e que alem disto tenho tambem que se o utilizador assim desejar apagar um tipo de moedas... por exemplo no programa tenho moedas de 1 e de 2 euros.. o utilizador escolhe apagar as moedas de 1.. e esses valores n voltam a aparecer...

o codigo que tenho e este:

import java.util.*;

public class CaixaMoedas{

private static String euro1, euro2, euro5, euro10, euro20, euro50, euro100, euro200, euro500;

public static void main (String [] args){

	String [] moedas=new String [9];
	String [] moedas2=new String [9];
	Scanner in=new Scanner (System.in);

	System.out.print('\n' + "Escreva o numero de moedas de 1 euro: ");
	int eur1=in.nextInt();
	moedas [0]=euro1;

	System.out.print('\n' + "Escreva o numero de moedas de 2 euros: ");
	int eur2=in.nextInt();
	moedas [1]=euro2;

	System.out.print('\n' + "Escreva o numero de notas de 5 euros: ");
	int eur5=in.nextInt();
	moedas [2]=euro5;

	System.out.print('\n' + "Escreva o numero de notas de 10 euros: ");
	int eur10=in.nextInt();
	moedas [3]=euro10;

	System.out.print('\n' + "Escreva o numero de notas de 20 euros: ");
	int eur20=in.nextInt();
	moedas [4]=euro20;

	System.out.print('\n' + "Escreva o numero de notas de 50 euros: ");
	int eur50=in.nextInt();
	moedas [5]=euro50;

	System.out.print('\n' + "Escreva o numero de notas de 100 euros: ");
	int eur100=in.nextInt();
	moedas [6]=euro100;

	System.out.print('\n' + "Escreva o numero de notas de 200 euros: ");
	int eur200=in.nextInt();
	moedas [7]=euro200;

	System.out.print('\n' + "Escreva o numero de notas de 500 euros: ");
	int eur500=in.nextInt();
	moedas [8]=euro500;

	System.out.print('\n' + "Em moedas de 1 euro voce tem: " + (eur1) + " euros");
	System.out.print('\n' + "Em moedas de 2 euros voce tem: " + (eur2*2) + " euros");
	System.out.print('\n' + "Em notas de 5 euros voce tem: " + (eur5*5) + " euros");
	System.out.print('\n' + "Em notas de 10 euros voce tem: " + (eur10*10) + " euros");
	System.out.print('\n' + "Em notas de 20 euros voce tem: " + (eur20*20) + " euros");
	System.out.print('\n' + "Em notas de 50 euros voce tem: " + (eur50*50) + " euros");
	System.out.print('\n' + "Em notas de 100 euros voce tem: " + (eur100*100) + " euros");
	System.out.print('\n' + "Em notas de 200 euros voce tem: " + (eur200*200) + " euros");
	System.out.println('\n' + "Em notas de 500 euros voce tem: " + (eur500*500) + " euros");

	System.out.println('\n' + "No total voce tem: " + (eur1+(eur2*2)+(eur5*5)+(eur10*10)+(eur20*20)+(eur50*50)+(eur100*100)+(eur200*200)+(eur500*500)) + " euros" + '\n');

	System.out.println('\n' + "Deseja apagar algum tipo de moeda/nota?");
	System.out.print('\n' + "Se deseja apagar digite o numero correspondente no menu abaixo." + '\n');
	System.out.println("Se nao deseja apagar digite 10 para sair." + '\n');


		System.out.print("1 : Apaga moedas de 1 euro" + '\n'); 
		System.out.print("2 : Apaga moedas de 2 euros" + '\n');
		System.out.print("3 : Apaga notas de 5 euros" + '\n');
		System.out.print("4 : Apaga notas de 10 euros" + '\n');
		System.out.print("5 : Apaga notas de 20 euros" + '\n');
		System.out.print("6 : Apaga notas de 50 euros" + '\n'); 
		System.out.print("7 : Apaga notas de 100 euros" + '\n');
		System.out.print("8 : Apaga notas de 200 euros" + '\n');
		System.out.print("9 : Apaga notas de 500 euros" + '\n');
		System.out.println("10 : Nao desejo apagar nada" + '\n'); 
		int tipo=in.nextInt();

		switch (tipo){
		case 1:
			System.arraycopy (moedas, 0, moedas2, 0, 8);
			for (int pos=0; pos<moedas2.length;pos++)
			{
				System.out.println(moedas2[pos]);
			}
			// agora tenho que meter o resto dos case.. ainda n meti porque tou a testar o programa
		case 2:

		case 10:
			System.exit(0);
		}
}	
}

no fim do programa o utilizador escolhe se quer ou nao apagar algum tipo de moeda/nota... quando eu escolho q quero apagar as moedas de valor 1 euro.. aparecem varias linhas a dizerem "null"

alguem sabe o porque de dar este erro e como resolve-lo?

desculpem se nao me expliquei direito... se nao perceberem aquilo que quero digam pfv...

obrigado por toda a ajuda!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a atribuir às várias possições do vector moedas as constantes declaradas no início, no entanto não iniciaste essas variáveis, elas não possuem qualquer valor. Qual é a ideia do código?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a ideia e o utilizador inserir o valor de todos os tipos de moedas/notas (por exemplo moedas de um euro o utilizador tem 4, de 2 euros tem 2, etc etc)

o programa depois soma os tipos de moedas/notas (aparece a msg a dizer que o utilizador tem 4 euros em moedas de 1 euro, 4 euros em moedas de 2, etc), depois disto o programa soma o valor de todas as moedas e notas e apresenta o total.

depois disto o utilizador pode escolher se deseja apagar algum tipo de moeda/nota.. se o utilizador escolher que deseja apagar por exemplo as moedas de 1 euro, volta a aparecer o total de cada tipo de moedas e o total de dinheiro que o utilizador tem apagando as moedas de 1euro...

ja fiz aquilo que me disseste ja ta a funcionar o programa...

obrigado pela ajuda! ^^

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