2016-11-15 1 views
-6

나는 다음이 나타납니다, 클래스 PessoasAppPessoas 그러나 AppPessoas 클래스의 main 방법을 만들었습니다 아래 :변수로 해석 될 수 없습니다. 내가 <code>nome</code> 및 <code>idade</code>를 입력 할 때 코드에서 자바

idade 변수 AppPessoas에 확인할 수 없습니다. 자바

nome 변수 AppPessoas.java

에 해결 될 수없는

Pessoas 클래스

package br.mike; 
public class Pessoas { 

    public String nome; 
    public int idade; 

    public Pessoas(){}; 

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

    public String getNome(){ 
     return nome; 
    } 

    public void setNome(String nome){ 
     this.nome = nome; 
    } 

    public int getIdade(){ 
     return idade; 
    } 

    public void setIdade(int idade){ 
     this.idade = idade; 
    } 
} 

AppPessoas 클래스

package br.mike; 
import java.io.PrintStream; 
import java.util.Scanner; 

public class AppPessoas{ 

    public static void main(String[] args){ 
     Scanner teclado = new Scanner(System.in); 
     System.out.println("Qantidade de pessoas: "); 
     int numPessoas = Integer.parseInt(teclade.nextLine()); 
     Pessoas[] listaPessoas = new Pessoas[numPessoas]; 

     for(int i = 0; i < listaPessoas.length; i++){ 
      System.out.println("Nome da pessoa " + (i+1)); 
      nome = teclado.nextLine(); 
      System.out.println("Idade da pessoa " + (i+1)); 
      idade = Integer.parseInt(teclado.nextLine()); 
      listaPessoas[i] = new Pessoas(nome, idade); 
     } 
     teclado.close(); 
    } 
} 
+1

포스트 코드가 * 여기 * 이미지에 연결하지 않습니다. – QBrute

+1

링크 된 이미지가 아닌 코드를 게시하십시오. –

+0

내 코드는 포르투갈어로되어 있습니다. 선생님, 학교, 수업 및 모든 내용이 포르투갈어로 통역 되더라도 모든 코드를 영어로 번역 하시겠습니까? 그건 이해가 안돼! –

답변

0

idade. 이 라인에

nome = teclado.nextLine(); 
idade = Integer.parseInt(teclado.nextLine()); 

: 그래서이 라인을 변경

String nome = teclado.nextLine(); 
int idade = Integer.parseInt(teclado.nextLine()); 

필드 nomeidadePessoas 클래스에있을 수 있지만, 그들은 AppPessoas 클래스에 존재하지 않습니다. 따라서 AppPessoasmain 메소드는 이러한 변수가 무엇인지 알 수 없습니다. 당신이 사람의 이름과 나이를 저장하고 싶다면 두 개의 새로운 변수를 만들거나 삽입하자마자 저장해야합니다. 코드에

listaPessoas[i] = new Pessoas(teclado.nextLine(), Integer.parseInt(teclado.nextLine())); 

다른 몇 가지주의 사항 : 예를 들어 당신이 Scanner에서 다음 토큰을 취득하고자 할 때

  1. 당신은 teclado.next(); 대신 teclado.nextLine();의를 사용할 수 있습니다.
  2. 당신은 당신이 생성자의 끝에서 ;을 추가 할 필요가 없습니다 teclado.nextInt(); 대신
  3. Integer.parseInt(teclado.nextLine()));의를 사용할 수 있습니다 public Pessoas(){};
+0

이미 편집 대기 중입니다. 편집을 답안으로 쓰지 마십시오. – QBrute

+0

정말 고마워요. 코드 게시 기능이 작동한다는 것을 몰랐습니다 ... –

4

당신은 변수를 선언하는 것을 잊었다 사용 :

String nome = teclado.nextLine(); 

,
int idade = Interger.parseInt(teclado.nextLine()); 
2

당신은 놈의 유형을 선언해야하고 당신은 그냥 변수를 선언해야

String nome = ... 
int idade = .... 
+0

죄송합니다. 이 사이트를 사용하는 방법을 배우고 있습니다. 그것은 나의 첫 번째 게시물입니다. –

관련 문제