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

Syvered

Dúvida de Iniciante

Mensagens Recomendadas

Syvered

Boas,

Comecei a aprender Java num site chamado codecademy.com há alguns dias e, após algumas lições, decidi aventurar-me e testar os meus conhecimentos até então aprendidos com algo básico e simples. No entanto, após execução do obtido, nada acontece. Abaixo apresento o código:

class Wood {

//Variables
int WoodPrice;
int Durability;
int Quality;
int Quantity;
int HandMoney = 10000;
int BankMoney = 10000;
int UpdatedHandMoney;
int TotalPrice;
//Class Constructor
public Wood(int Durability,int Quality,int Quantity) {

WoodPrice = ((Durability + Quality) / 2) * Quantity;

}

public void CheckBank() {
System.out.println("You currently have " + BankMoney + "$ on your bank account.");
}

public void WoodInfo() {
System.out.println("Wood Information");
System.out.println("Durability: " + Durability);
System.out.println("Quality: " + Quality);
System.out.println("Wood Price: " + WoodPrice + "$");
}

public void BuyWood() {
if(HandMoney > WoodPrice) {

    System.out.println("You have bought the wood.");
    UpdatedHandMoney = HandMoney - WoodPrice;
    System.out.println("You're current balance is now " + UpdatedHandMoney + "$");
    System.out.println("You still have " + BankMoney + "$ in your bank account");

}
else if(HandMoney == WoodPrice) {

    System.out.println("You have bought the wood.");
    System.out.println("You are out of money");
    System.out.println("You still have " + BankMoney + "$ on your bank.");

}
else if(HandMoney + BankMoney >= WoodPrice) {

    System.out.println("You don't have enough money on you but you can transfer some from the bank");

}
else if(HandMoney + BankMoney >= WoodPrice) {

    System.out.println("You don't have enough money to buy this wood.");

}
}

public static void main(String[] args){
//Main
Wood Pine = new Wood(100,5,100);

Pine.WoodInfo();
Pine.BuyWood();

}
}

Não obtive qualquer tipo de erro por parte do Java, mas simplesmente nada acontece, ao contrário do que eu previa.

Desculpem lá erros básicos que vos possam "irritar" :)

Obrigado

Editado por Rui Carlos
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
iron

O que previas?

Vê e diz-me a diferença que existe aqui

else if(HandMoney + BankMoney >= WoodPrice) {

	 System.out.println("You don't have enough money on you but you can transfer some from the bank");

}
else if(HandMoney + BankMoney >= WoodPrice) {

	 System.out.println("You don't have enough money to buy this wood.");

}

Editado por iron

Cumprimentos,
iron

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Olá, além do comentário acima, define lá "não acontece nada"

Não aparece nada na consola?

nem sequer os prints:

System.out.println("Wood Information");

System.out.println("Durability: " + Durability);

System.out.println("Quality: " + Quality);

System.out.println("Wood Price: " + WoodPrice + "$");

?

Como estás a compilar e executar o código?

EDIT:

também: diz-nos lá onde está a atribuir os valores às variaveis da classe (membros)? nao vejo...

Editado por tiago.f

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Sim o main está lá, mas ainda assim não sei como ele compilou (se é que compilou) nem como executou o código.

O segundo ponto é que não há atribuição de valores aos membros da classe - esperava ver algo no construtor. Obviamente essas variáveis estarão vazias quando utilizadas noutros métodos...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Não estarão vazias. Estarão com os valores "por defeito" do java.

o segredo do problema é : quais são esses valores ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Certo... E algumas delas estarão com esse valores para sempre!

Vamos esperar pelo Syvered....

o segredo do problema é : quais são esses valores ?

Não, o segredo é saber o que "nada acontece" quer de facto dizer...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Não, o segredo é saber o que "nada acontece" quer de facto dizer...

olha bem para o código, é facil deduzir o que o ele quer dizer com "não faz nada"

é obvio que faz os println, se o código compila (o próprio disse que executou-o, que dizer que compilou), então o problema é que o código não faz o que ele quer

volto o dizer, o segredo para resolver o problema já foi dito aqui por todos : as variáveis não estão vazias, mas quais os valores dessas variáveis e porquê ?

nota : e para quem sabe programar, basta olhar para o construtor da classe para perceber !!!

  • Voto 2

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cajoblue

Boas!

Estou com uma forte dificuldade em apresentar o menu.

Não estou a inserir o código dentro do metido "main", e quando o faço da erro. Pede novos motodos, e ainda assim apresenta erro!

ps: a função "mostrarMenu", serve para apresentar os menus.

static String[] menuPrincipal = {"### Menu Principal ###",
		    "1 - Novo Utente",
		    "2 - Pesquisa Utente",
		    "3 - Editar Utente",
		    "4 - Estatisticas",
		    "0 - Sair..."
		    };
static void metodoMenuPrincipal(){
 mostrarMenu(menuPrincipal, 6);
 System.out.println("Escolha uma das seguistes opções.");
 int opcaoMenuPrincipal=sc.nextInt();

private static void mostrarMenu(String[] menu,int numero0pcoes){
   for(int i = 0; i < numero0pcoes; i++){
 System.out.println(menu[i]);

}
  }

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Boas!

Estou com uma forte dificuldade em apresentar o menu.

Não estou a inserir o código dentro do metido "main", e quando o faço da erro. Pede novos motodos, e ainda assim apresenta erro!

ps: a função "mostrar

que código é que inseres no método main?

que erros é que são apresentados ?

que métodos são pedidos ?

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação 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 os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.