Erro na compilação

6 respostas
P
package java.utils;
	
	    import java.utils.Scanner; // Importa a classe Scanner
	    
	    class Pessoa {
	    //atributos da classe
	    private String nome;
	    private int idade;        
	    }
	  
	
		    
	    public class Programa4 {
		public static void main (String args[]) {
	
		Scanner dados = new Scanner(System.in); // Cria um objeto Scanner para receber os dados do teclado
	
		System.out.println("Digite seu nome: ");
		    nome = dados.next();
	  
		System.out.println("Digite sua idade: ");
		    idade = dadosc.nextInt();
	    
		if (idade < 18) {
			if (idade <= 12) {
			    System.out.println(+nome, "Você é uma é criança");
			}else if (idade <= 15) {
			    System.out.println(+nome, "Você é um(a) adolescente");
			}else {
			    System.out.println(nome, "Você é jovem");
			}
		    }
		    if (idade >= 18) {
			if (idade <=64) {
			    System.out.println(+nome, "Você é adulto(a)");
			}else if (idade >= 65) {
			    System.out.println(+nome, "Você é idoso(a)");
			}
		    }
	 	}
	      }

Erro na hora de compilar


pablo@linux-zbm2:~/doc> javac Programa4.java

Programa4.java:3: cannot find symbol

symbol  : class Scanner

location: package java.utils

import java.utils.Scanner; // Importa a classe Scanner

^

Programa4.java:16: cannot find symbol

symbol  : class Scanner

location: class java.utils.Programa4

Scanner dados = new Scanner(System.in); // Cria um objeto Scanner para receber os dados do teclado

^

Programa4.java:16: cannot find symbol

symbol  : class Scanner

location: class java.utils.Programa4

Scanner dados = new Scanner(System.in); // Cria um objeto Scanner para receber os dados do teclado

^

Programa4.java:19: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

nome = dados.next();

^

Programa4.java:22: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

idade = dadosc.nextInt();

^

Programa4.java:22: cannot find symbol

symbol  : variable dadosc

location: class java.utils.Programa4

idade = dadosc.nextInt();

^

Programa4.java:24: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade < 18) {

^

Programa4.java:25: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade <= 12) {

^

Programa4.java:26: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é uma é criança);

^

Programa4.java:26: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é uma é criança);

^

Programa4.java:27: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

}else if (idade <= 15) {

^

Programa4.java:28: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é um(a) adolescente);

^

Programa4.java:28: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é um(a) adolescente);

^

Programa4.java:30: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(nome, Você é jovem);

^

Programa4.java:33: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade >= 18) {

^

Programa4.java:34: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade <=64) {

^

Programa4.java:35: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é adulto(a));

^

Programa4.java:35: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é adulto(a));

^

Programa4.java:36: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

}else if (idade >= 65) {

^

Programa4.java:37: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é idoso(a));

^

Programa4.java:37: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é idoso(a));

^

21 errors

6 Respostas

S

O pacote se chama java.util.Scanner e nao java.utilS.Scanner

Tira aquele “s” do utils.

Edit:

Tem uma coisa errada no seu programa:

Você em momento algum instancia a classe “Pessoa” portanto você não pode utilizar os atributos dela, a nao ser que os atributos sejam estaticos e ainda sim você teria que mudar o modificador de visibilidade para default ou public, sem contar mudar a forma que você chama os atributos

Pessoa.nome = dados.next();

ao inves de

nome = dados.next();
gabrielfrios

O método println não recebe dois parametros

P

Alterei e ainda tem 18 erros.

symbol  : variable nome

location: class java.utils.Programa4

nome = dados.next();

^

Programa4.java:22: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

idade = dadosc.nextInt();

^

Programa4.java:22: cannot find symbol

symbol  : variable dadosc

location: class java.utils.Programa4

idade = dadosc.nextInt();

^

Programa4.java:24: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade < 18) {

^

Programa4.java:25: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade <= 12) {

^

Programa4.java:26: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é uma é criança);

^

Programa4.java:26: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é uma é criança);

^

Programa4.java:27: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

}else if (idade <= 15) {

^

Programa4.java:28: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é um(a) adolescente);

^

Programa4.java:28: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é um(a) adolescente);

^

Programa4.java:30: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(nome, Você é jovem);

^

Programa4.java:33: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade >= 18) {

^

Programa4.java:34: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

if (idade <=64) {

^

Programa4.java:35: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é adulto(a));

^

Programa4.java:35: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é adulto(a));

^

Programa4.java:36: cannot find symbol

symbol  : variable idade

location: class java.utils.Programa4

}else if (idade >= 65) {

^

Programa4.java:37: cannot find symbol

symbol  : variable nome

location: class java.utils.Programa4

System.out.println(+nome, Você é idoso(a));

^

Programa4.java:37: cannot find symbol

symbol  : method println(int,java.lang.String)

location: class java.io.PrintStream

System.out.println(+nome, Você é idoso(a));

^

18 errors
S

As 2 formas de como poderia ficar o seu programa.

A primeira é instanciando a classe Pessoa:

import java.util.Scanner;

class Pessoa {
	// atributos da classe
	String nome; //modificador de visibilidade é default, ja que você nao tem nenhum getter e setter, public tambem funciona
	int idade; //modificador de visibilidade é default, ja que você nao tem nenhum getter e setter, public tambem funciona
}

public class Programa {
	public static void main(String args[]) {

		Scanner dados = new Scanner(System.in); // Cria um objeto Scanner para
												// receber os dados do teclado
		Pessoa p = new Pessoa(); //Instanciou a classe, pode ser referir ao objeto atraves da variavel p
		System.out.println("Digite seu nome: ");
		p.nome = dados.next(); //atribuiu algum valor ao atributo nome do objeto que a variavel p se refere

		System.out.println("Digite sua idade: ");
		p.idade = dados.nextInt();

		if (p.idade < 18) {
			if (p.idade <= 12) {
				System.out.println("Você é uma é criança");
			} else if (p.idade <= 15) {
				System.out.println("Você é um(a) adolescente");
			} else {
				System.out.println("Você é jovem");
			}
		}
		if (p.idade >= 18) {
			if (p.idade <= 64) {
				System.out.println("Você é adulto(a)");
			} else if (p.idade >= 65) {
				System.out.println("Você é idoso(a)");
			}
		}
	}

}

Usando atributos static

import java.util.Scanner;

class Pessoa {
	// atributos da classe
	static String nome; //modificador de visibilidade é default, ja que você nao tem nenhum getter e setter, public tambem funciona
	static int idade; //modificador de visibilidade é default, ja que você nao tem nenhum getter e setter, public tambem funciona
	//esses atributos sao da classe e nao de uma instancia
}

public class Programa {
	public static void main(String args[]) {

		Scanner dados = new Scanner(System.in); // Cria um objeto Scanner para
												// receber os dados do teclado
		System.out.println("Digite seu nome: ");
		Pessoa.nome = dados.next(); //atribuiu o valor digitado pelo usuario ao atributo nome DA CLASSE Pessoa

		System.out.println("Digite sua idade: ");
		Pessoa.idade = dados.nextInt();

		if (Pessoa.idade < 18) {
			if (Pessoa.idade <= 12) {
				System.out.println("Você é uma é criança");
			} else if (Pessoa.idade <= 15) {
				System.out.println("Você é um(a) adolescente");
			} else {
				System.out.println("Você é jovem");
			}
		}
		if (Pessoa.idade >= 18) {
			if (Pessoa.idade <= 64) {
				System.out.println("Você é adulto(a)");
			} else if (Pessoa.idade >= 65) {
				System.out.println("Você é idoso(a)");
			}
		}
	}

}
P

Agora eu entendi.

Muito obrigado a todos vocês.

gabrielfrios

Uma dica, olhe a endentação do código do Sem_Nome, ajuda bastante na leitura do mesmo.

Criado 11 de maio de 2012
Ultima resposta 11 de mai. de 2012
Respostas 6
Participantes 3