Passagem de parâmetros  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Sinvaldo_Junior
Entusiasta Java
[Avatar]

Membro desde: 19/04/2010 14:49:31
Mensagens: 17
Offline

Ola pessoal tenho uma dúvida básica quanto a passagem de parâmetros em métodos, a dúvida é referente a um trecho do código abaixo:


estou utilizando a passagem de parâmetros dentro do método leNotas(), quando eu retiro os parâmetros a aplicação
funciona normalmente, porém quando eu coloco os parâmetros o resultado aparece zerado 0.0, gostaria de entender o porquê,
outra coisa bem básica que eu gostaria de entender é qual é a vantagem de utilização de parâmetros, uma vez que em qualquer
um desses métodos o seu uso é desnecessário

Obrigado !

This message was edited 2 times. Last update was at 01/09/2010 13:59:57


Sinvaldo Junior
[MSN]
evertonsilvagomesjava
GUJ Master
[Avatar]

Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline

use as tags "code" e "/code pra postar seus codigos,

This message was edited 1 time. Last update was at 01/09/2010 13:50:23

Gustavokt
JavaBaby
[Avatar]

Membro desde: 01/09/2009 11:09:41
Mensagens: 95
Offline

Sinvaldo_Junior wrote:

estou utilizando a passagem de parâmetros dentro do método leNotas(), quando eu retiro os parâmetros a aplicação
funciona normalmente, porém quando eu coloco os parâmetros o resultado aparece zerado 0.0, gostaria de entender o porquê,


É o padrão do java o tipo da sua variável quando não se inicializa a variável
Sinvaldo_Junior wrote:
outra coisa bem básica que eu gostaria de entender é qual é a vantagem de utilização de parâmetros, uma vez que em qualquer
um desses métodos o seu uso é desnecessário

Se você for fazer tudo na mesma classe, realmente não faz sentido ter parâmetros. Mas daí você não vai conseguir fazer nada orientado a objeto, depende do que você quer fazer
vaziocs2
What is classpath?

Membro desde: 02/11/2009 20:52:49
Mensagens: 7
Offline

Nesse caso nao tem vantagem nenhuma, vc ja esta usando um componente do swing, que está recebendo o parametro de qualquer jeito.
A media está aparecendo 0.0 pq

calculaMedia(nota1, nota2); ta pegando os valores de
static double nota1=0,nota2=0,media=0;

e quando vc faz
nota1 = Double.parseDouble(JOptionPane.showInputDialog("Digite a primeira nota"));
nota1 ali é o seu parametro não é a variavel.
E saindo do metodo lenotas esse nota1 morreu ai.



codigo funcionando
Sinvaldo_Junior
Entusiasta Java
[Avatar]

Membro desde: 19/04/2010 14:49:31
Mensagens: 17
Offline

Nossa ! verdade,
o valor obtido pela JOptionPane é atribuído para o parâmetro e não para a variável (atributo) agora entendi o erro.

caros amigos,
deixa eu ver se eu entendi direito a vantagem da utilização de parâmetros,
eles possibilitam eu efetuar procedimentos em outras classes de modo a referênciar atributos da
classe que os contém ?

Muito Obrigado !



Sinvaldo Junior
[MSN]
Gustavokt
JavaBaby
[Avatar]

Membro desde: 01/09/2009 11:09:41
Mensagens: 95
Offline

Gustavokt wrote:

É o padrão do java o tipo da sua variável quando não se inicializa a variável



Ops, na verdade, você inicializou as variáveis tudo com 0 e naquele método que deveria inicializar os valores, seus parâmetros tem o mesmo nome das varáveis de classe.

Ficou meio confuso como você quis inicializar as variáveis mas tem 2 coisas...

1) Você quis alterar os valores do método, mas não conseguiu porque java passa o valor dos parâmetros e não referência.

2) Passou a variável da classe como parâmetro (o que não precisava pois era da classe)
truck1n
Java Ninja
[Avatar]
Membro desde: 26/04/2006 11:41:05
Mensagens: 296
Localização: São Paulo
Offline

Você esta colocando um Object dentro de um primitivo?

Get Rich Or Die Trying
[WWW] [MSN]
Sinvaldo_Junior
Entusiasta Java
[Avatar]

Membro desde: 19/04/2010 14:49:31
Mensagens: 17
Offline

truck1n wrote:Você esta colocando um Object dentro de um primitivo?


Não perceba que no exemplo não crio nenhum objeto

Mas pensando melhor aqui com os meus botões, para o leNota() na main eu passo os parâmetros
nota1 e nota2, atributos esses criados globalmente, não era para o método modificar os valores dessas variáveis e quando eu chamasse o
calculaMedia(nota1, nota2) essas notas não estariam com os valores obtidos pela JOptionPane ?


Sinvaldo Junior
[MSN]
adriano_si
JWizard
[Avatar]

Membro desde: 01/10/2006 15:29:40
Mensagens: 2047
Offline

Cara... (sem fazer o teste aqui porque to sem Java no momento) vou te dar uma sugestão, retira os parametros do metodo leNota() e executa de novo...

Se nao entender o que aconteceu, pergunte aqui de novo.

Falows

"É preciso ter mais fé pra acreditar que viemos do nada..."

Blog - http://aohana.wordpress.com/

Padrão de nomenclatura Java - http://www.oracle.com/technetwork/java/codeconventions-139411.html#16712

Doc. Java - http://www.oracle.com/technetwork/java/javase/documentation/index.html

Faça perguntas Inteligentes - http://istf.com.br/perguntas

Sobrevivência no GUJ:
(Regras) http://www.guj.com.br/java/21516-regras-do-forum

(Boa prática) http://www.guj.com.br/java/15477-antes-de-voce-perguntar

(Código fonte) http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
Sinvaldo_Junior
Entusiasta Java
[Avatar]

Membro desde: 19/04/2010 14:49:31
Mensagens: 17
Offline

adriano_si wrote:Cara... (sem fazer o teste aqui porque to sem Java no momento) vou te dar uma sugestão, retira os parametros do metodo leNota() e executa de novo...

Se nao entender o que aconteceu, pergunte aqui de novo.

Falows


retirando os parâmetros roda normalmente,

mas eu acho que finalmente entendi o que acontece neste exemplo, caso o meu raciocínio esteja errado eu peço que por favor me correjam,
como estou passando os meus atributos ( com o mesmo nome >.< ) como parâmetros por valor dentro do método leNotas() eu tento realizar
uma modificação em seus valores, o que não é possível por ser uma passagem por valor, ou seja, as atualizações não seram refletidas nas
variáveis passadas como parâmetros , isto foi dito pelo nosso amigo anteriormente (demorei a entender =P)

agora uma outra perguntinha, Java possibilita a passagem por referência ?

Obrigado Amigos !

This message was edited 1 time. Last update was at 02/09/2010 10:34:27


Sinvaldo Junior
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team