packagepessoaInserindoDados;importjava.util.Scanner;importjavax.swing.JOptionPane;publicclassAniversario{publicstaticvoidmain(String[]args){//String nome = JOptionPane.showInputDialog("Qual seu nome?");Scannerin=newScanner(System.in);System.out.print("Qual a idade da 1ª pessoa? ");Stringid1=in.nextLine();intidade1=Integer.parseInt(id1);System.out.println("Qual o Nome da 1ª? ");Stringnome1=in.nextLine();System.out.print("Qual a idade da 2ª pessoa? ");Stringid2=in.nextLine();intidade2=Integer.parseInt(id2);System.out.println("Qual o Nome da 2ª? ");Stringnome2=in.nextLine();Pessoapessoa=newPessoa();pessoa.fazAniversario(idade1,idade2);pessoa.imprimePessoa(nome1,nome2);}}
outra classe
packagepessoaInserindoDados;publicclassPessoa{Stringnome;intidade1,idade2,idadeNova;publicintfazAniversario(intidade1,intidade2){returnidadeNova=idade1+1;}publicvoidimprimePessoa(Stringnome1,Stringnome2){System.out.println("A pessoa chamada "+nome1+", fez aniversário e ficou com "+idadeNova+" anos");System.out.println("A pessoa chamada "+nome2+", fez aniversário e ficou com "+idadeNova+" anos");}}
Ao imprimir o resultado está calculando apenas uma idade, qual o erro?
Stringnome;intidade1;publicPessoa(Stringnome,intidade){this.nome=nome;this.idade=idade;}publicintfazAniversario(intidade1,intidade2){returnidade+=1;}publicvoidimprimePessoa(){System.out.println("A pessoa chamada "+nome+", fez aniversário e ficou com "+idade+" anos");}
a outra classe ficaria assim
packagepessoaInserindoDados;importjava.util.Scanner;importjavax.swing.JOptionPane;publicclassAniversario{publicstaticvoidmain(String[]args){//String nome = JOptionPane.showInputDialog("Qual seu nome?"); Scannerin=newScanner(System.in);System.out.print("Qual a idade da 1ª pessoa? ");Stringid1=in.nextLine();intidade1=Integer.parseInt(id1);System.out.println("Qual o Nome da 1ª? ");Stringnome1=in.nextLine();System.out.print("Qual a idade da 2ª pessoa? ");Stringid2=in.nextLine();intidade2=Integer.parseInt(id2);System.out.println("Qual o Nome da 2ª? ");Stringnome2=in.nextLine();Pessoapessoa1=newPessoa(nome1,idade1);Pessoapessoa2=newPessoa(nome2,idade2);pessoa1.fazAniversario();pessoa2.fazAniversario();pessoa1.imprimePessoa();pessoa2.imprimePessoa();}}
E ai o que achou ?
CristianPalmaSola10
Lembre de tirar os parametros do metodo fazAniversario, poste e esqueci de tirar as duas vezes, pois esses parametros naum fazem sentido
Marcio_Lima
na classe Aniversário há uma única passagem pelo comando
Pessoapessoa=newPessoa();
é necessário passar por esse comando, outra vez, quando tratar a Segunda Pessoa
No procedimento
publicintfazAniversario(intidade1,intidade2){
o campo idade2 está sobrando.
W
wlargado
Oque achei? Muito bom, eu não estava sabendo como por inúmeras novas pessoas e idades, vc matou a charada criando o construtor com os parâmetros. Muito Obrigado
W
wlargado
wlargado:
Tenho o seguinte:
packagepessoaInserindoDados;importjava.util.Scanner;importjavax.swing.JOptionPane;publicclassAniversario{publicstaticvoidmain(String[]args){//String nome = JOptionPane.showInputDialog("Qual seu nome?");Scannerin=newScanner(System.in);System.out.print("Qual a idade da 1ª pessoa? ");Stringid1=in.nextLine();intidade1=Integer.parseInt(id1);System.out.println("Qual o Nome da 1ª? ");Stringnome1=in.nextLine();System.out.print("Qual a idade da 2ª pessoa? ");Stringid2=in.nextLine();intidade2=Integer.parseInt(id2);System.out.println("Qual o Nome da 2ª? ");Stringnome2=in.nextLine();Pessoapessoa=newPessoa();pessoa.fazAniversario(idade1,idade2);pessoa.imprimePessoa(nome1,nome2);}}
outra classe
packagepessoaInserindoDados;publicclassPessoa{Stringnome;intidade1,idade2,idadeNova;publicintfazAniversario(intidade1,intidade2){returnidadeNova=idade1+1;}publicvoidimprimePessoa(Stringnome1,Stringnome2){System.out.println("A pessoa chamada "+nome1+", fez aniversário e ficou com "+idadeNova+" anos");System.out.println("A pessoa chamada "+nome2+", fez aniversário e ficou com "+idadeNova+" anos");}}
Ao imprimir o resultado está calculando apenas uma idade, qual o erro?