aniversários inserindo dados

6 respostas
W

Tenho o seguinte:

package pessoaInserindoDados;

import java.util.Scanner;

import javax.swing.JOptionPane;

public class Aniversario {
	public static void main(String[] args) {
		//String nome = JOptionPane.showInputDialog("Qual seu nome?");
		
		Scanner in = new Scanner(System.in);
		
		System.out.print("Qual a idade da 1ª pessoa? ");
		String id1 = in.nextLine();
		int idade1 = Integer.parseInt(id1);
		
		System.out.println("Qual o Nome da 1ª? ");
		String nome1 = in.nextLine();

		System.out.print("Qual a idade da 2ª pessoa? ");
		String id2 = in.nextLine();
		int idade2 = Integer.parseInt(id2);
		
		System.out.println("Qual o Nome da 2ª? ");
		String nome2 = in.nextLine();
		
		Pessoa pessoa = new Pessoa();
		pessoa.fazAniversario(idade1, idade2);
		pessoa.imprimePessoa(nome1, nome2);
	}
}
outra classe
package pessoaInserindoDados;

public class Pessoa {
    String nome;   
    int idade1, idade2, idadeNova;

    public int fazAniversario (int idade1, int idade2){
    	return idadeNova = idade1 + 1;

    }
    public void imprimePessoa(String nome1, String nome2){
		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?

6 Respostas

CristianPalmaSola10

Eu acho isso totalmente errado

o metodo fezAniversairo deveria ser assim

public int fazAniversario (int idade1, int idade2){  
        return idade += 1;  
    }
CristianPalmaSola10

Modifique o contrutor da classe pessoa para isso

String nome;     
    int idade1;

public Pessoa(String nome, int idade){
    this.nome = nome;
    this.idade = idade;
}

public int fazAniversario (int idade1, int idade2){  
        return idade += 1;  
  
    }  

    public void imprimePessoa(){  
        System.out.println("A pessoa chamada " + nome + ", fez aniversário e ficou com " + idade +  
                " anos");  
   
    }

a outra classe ficaria assim

package pessoaInserindoDados;  
  
import java.util.Scanner;  
  
import javax.swing.JOptionPane;  
  
public class Aniversario {  
    public static void main(String[] args) {  
        //String nome = JOptionPane.showInputDialog("Qual seu nome?");  
          
        Scanner in = new Scanner(System.in);  
          
        System.out.print("Qual a idade da 1ª pessoa? ");  
        String id1 = in.nextLine();  
        int idade1 = Integer.parseInt(id1);  
          
        System.out.println("Qual o Nome da 1ª? ");  
        String nome1 = in.nextLine();  
  
        System.out.print("Qual a idade da 2ª pessoa? ");  
        String id2 = in.nextLine();  
        int idade2 = Integer.parseInt(id2);  
          
        System.out.println("Qual o Nome da 2ª? ");  
        String nome2 = in.nextLine();  
          
        Pessoa pessoa1 = new Pessoa(nome1, idade1);  
        Pessoa pessoa2 = new Pessoa(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

Pessoa pessoa = new Pessoa();

é necessário passar por esse comando, outra vez, quando tratar a Segunda Pessoa

No procedimento

public int fazAniversario (int idade1, int idade2){

o campo idade2 está sobrando.

W

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:
Tenho o seguinte:
package pessoaInserindoDados;

import java.util.Scanner;

import javax.swing.JOptionPane;

public class Aniversario {
	public static void main(String[] args) {
		//String nome = JOptionPane.showInputDialog("Qual seu nome?");
		
		Scanner in = new Scanner(System.in);
		
		System.out.print("Qual a idade da 1ª pessoa? ");
		String id1 = in.nextLine();
		int idade1 = Integer.parseInt(id1);
		
		System.out.println("Qual o Nome da 1ª? ");
		String nome1 = in.nextLine();

		System.out.print("Qual a idade da 2ª pessoa? ");
		String id2 = in.nextLine();
		int idade2 = Integer.parseInt(id2);
		
		System.out.println("Qual o Nome da 2ª? ");
		String nome2 = in.nextLine();
		
		Pessoa pessoa = new Pessoa();
		pessoa.fazAniversario(idade1, idade2);
		pessoa.imprimePessoa(nome1, nome2);
	}
}
outra classe
package pessoaInserindoDados;

public class Pessoa {
    String nome;   
    int idade1, idade2, idadeNova;

    public int fazAniversario (int idade1, int idade2){
    	return idadeNova = idade1 + 1;

    }
    public void imprimePessoa(String nome1, String nome2){
		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?

Criado 30 de julho de 2012
Ultima resposta 31 de jul. de 2012
Respostas 6
Participantes 3