Ir ao conteúdo
  • Cadastre-se

Java Eclipse error: “The import XXX cannot be resolved”


Posts recomendados

Olá, boa tarde.

 

Eu gostaria de saber por que estou recebendo esse erro no eclipse. Quando vou iniciar um projeto java eu coloquei nas configurações a JRE 8 alguma coisa. Procurei no Google e segundo alguns fóruns essa poderia ser a razão do erro, mas enfim, fiquei perdido... 

 

O pacote que estou tentando incluir é o util math e o scanner

 

O código é parecido com esse abaixo. Esse eu fiz agora rapidinho no trabalho, não tem a condição para "jogar de novo?" por ex, porque eu reescrevi tudo e fiquei com preguiça, foi apenas no notepad++, só reescrevi pra verem se foi algum erro de sintaxe que gerou o erro do compilador. 

Import Java.util.Random;
Import Java.util.Scanner;

//iniciando a classe jockenpo

Public class jockenpo() {
	//declarando as variáveis
	Public int playerHuman;
	Public int playerCpu;
	
	//iniciando o objeto gameChoice, é o item que decide o ganhador
	boolean gameChoice(int playerHuman, int playerCpu){
		Public boolean victory;
		this.playerHuman = playerHuman;
		this.playerCpu = playerCpu;
				if {(playerCpu == 1 && playerHuman == 3 || playerCpu == 2 && playerHuman == 1 || playerCpu == 3 && playerHuman == 2)
					victory = false; }
						else{
							victory = true; }
		return boolean victory;
	}	
	//iniciando o objeto que define a jogada do computador
		int cpu(int playerCpu){
			Random play = new Random();
			this.playerCpu = playerCpu;
			playerCpu = play.nextInt(3);
		
			return int playerCpu;
	}
	
}

//iniciando o Main
Public Static Void Main(istring [] args) {
	Scanner read = new Scanner(System.in);
	jockenpo j = new jockenpo();
	
	j.playerCpu = 0;
	j.playerHuman = 0;
	j.victory = true;
	
	// Condicao para seguir com o jogo
		do {
			j.playerHuman ==   0 ? System.out.printf ("Vamos jogar jockenpo \n Sendo que pedra 1, papel 2 e tesoura 3! \n Vamos, digite um número! \n"); : System.out.print("Apenas 1, 2 ou 3");
	
	
			playerHuman = read.nextInt();
		}
		while {
			(j.playerHuman != 1 || 2 || 3); 
		}
		
	j.cpu();
	J.gameChoice();
	
	j.victory() == true ? System.out.prinf("voce ganhou\n") : System.out.printf("voce e um ***** mermao\n");
	
}

 

Link para o comentário
Compartilhar em outros sites

Em 06/07/2019 às 12:54, iHollyZinhO disse:

As palavras reservadas devem ser todas em letras minúsculas. O erro que está dando é porque você está colocando o nome errado na hora de importar.


Import Java.util.Scanner;

//Isso deve ser:

import java.util.Scanner; //As palavras import e java devem ser em letras minúsculas

 

Obrigado amigo, vou testar e assim que tiver um tempo posto os resultados, obrigado.

Link para o comentário
Compartilhar em outros sites

Em 08/07/2019 às 09:59, Hela disse:

Obrigado amigo, vou testar e assim que tiver um tempo posto os resultados, obrigado.

 

Refiz o programa e tudo foi bem, mas agora estou tendo problema em outras linhas e gostaria de ajuda.

 

package jok;
import java.util.Random;
import java.util.Scanner;
/**
 *
 * @author gabri
 */
public class Jok {
	//declarando as variáveis
	public static int playerHuman;
	public static int playerCpu;
	
	//iniciando o objeto gameChoice, é o item que decide o ganhador
	private static boolean gameChoice(boolean victory){
        playerHuman = 0;
        playerCpu = 0;
        victory = !(playerCpu == 1 && playerHuman == 3 || playerCpu == 2 && playerHuman == 1 || playerCpu == 3 && playerHuman == 2);
        return victory;
        }
        //iniciando o objeto que define a jogada do computador
		private static int cpu(){
			Random play = new Random();
			playerCpu = 0;
			playerCpu = play.nextInt(3)+1;
			return playerCpu;
	}
                
                
    public static void main(String[] args) {
        
        Scanner read = new Scanner(System.in);
	Jok j = new Jok();
	
	Jok.playerCpu = 0;
	Jok.playerHuman = 0;
	// Condicao para seguir com o jogo
        do {
			(Jok.playerHuman == 0) ? System.out.printf("Vamos jogar jockenpo \n Sendo que pedra 1, papel 2 e tesoura 3! \n Vamos, digite um número! \n") : System.out.print("Apenas 1, 2 ou 3");
	
	
			playerHuman = read.nextInt(3);
		}
		while {
			(j.playerHuman <== 0 || >== 4); 
		}
		
	j.cpu();
	j.gameChoice();
	
	(j.gameChoice() == true) ? System.out.prinf("voce ganhou\n") : System.out.printf("voce e um ***** mermao\n");
	
}
    }
       
    }
    
}

Estou tendo problemas nesse pedaço:

do {
			(Jok.playerHuman == 0) ? System.out.printf("Vamos jogar jockenpo \n Sendo que pedra 1, papel 2 e tesoura 3! \n Vamos, digite um número! \n") : System.out.print("Apenas 1, 2 ou 3");
	
	
			playerHuman = read.nextInt(3);
		}
		while {
			(j.playerHuman <== 0 || >== 4); 
		}

E nesse

(j.gameChoice() == true) ? System.out.prinf("voce ganhou\n") : System.out.printf("voce e um ***** mermao\n");

 

Link para o comentário
Compartilhar em outros sites

@Hela, seu código está com alguns erros de sintaxe, além de algumas chaves "dando sopa no final". Reorganizando seu código, uma possível solução seria assim:

import java.util.Scanner;
import java.util.Random;

public class Jockenpo {
    /**
     * O computador realiza a jogada.
     */
    private static int computadorJoga() {
        return new Random().nextInt(3) + 1;
    }

    /**
     * Verifica o campeão
     * [0] - Empate
     * [1] - Jogador
     * [2] - Computador
     */
    private static int verificarVencedor(int jogador, int computador){
        int vencedor;

        if (jogador == computador) {
            vencedor = 0;
        } else if (jogador == 1) {
            vencedor = (computador == 2) ? 2 : 1;
        } else if (jogador == 2) {
            vencedor = (computador == 3) ? 2 : 1;
        } else {
            vencedor = (computador == 1) ? 2 : 1;
        }

        return vencedor;
    }

    public static void main(String[] args) {
        int jogador;
        int computador;
        int vencedor;

        char repetir = 's';

        while (repetir == 's') {
            jogador = 0;
            computador = 0;
            vencedor = 0;

            // Jogador joga
            while (jogador < 1 || jogador > 3) {
                System.out.println("[1] - Pedra \t [2] - Papel \t [3] - Tesoura");
                System.out.print("> ");
                jogador = new Scanner(System.in).nextInt();
            }

            // Computador joga
            while (computador < 1 || computador > 3) {
                computador = computadorJoga();
            }

            vencedor = verificarVencedor(jogador, computador);

            System.out.println("-------------------");
            System.out.println("J: " + jogador);
            System.out.println("C: " + computador);
            System.out.println("V: " + vencedor);

            switch (vencedor) {
                case 0:
                    System.out.println(">> Empate <<");
                    break;
                case 1:
                    System.out.println(">> Venceu <<");
                    break;
                case 2:
                    System.out.println(">> Perdeu <<");
                    break;
                default:
                    System.err.println("** Bug no jogo **");
                    break;
            }

            System.out.println("-------------------");
            System.out.println();
            System.out.print("Jogar de novo? [ S / N ]: ");
            repetir = new Scanner(System.in).next().toLowerCase().charAt(0);
        }

        System.exit(0);
    }
}

 

Link para o comentário
Compartilhar em outros sites

Obrigado, Adriano. 

 

Mas confesso que não fico confortável com esse tanto de if concatenado, não seria isso um mal hábito?

 

 

  if (jogador == computador) {
            vencedor = 0;
        } else if (jogador == 1) {
            vencedor = (computador == 2) ? 2 : 1;
        } else if (jogador == 2) {
            vencedor = (computador == 3) ? 2 : 1;
        } else {
            vencedor = (computador == 1) ? 2 : 1;
        }

 

Link para o comentário
Compartilhar em outros sites

Até onde eu sei não. Inclusive existem situações que se você não fizer dessa forma, o algoritmo não funciona corretamente. Se você tem dificuldades com esse tipo de sintaxe, essa modificação funciona também:

private static int verificarVencedor(int jogador, int computador){
    if (jogador == computador) {
        return 0;
    }
    
    if (jogador == 1) {
        return (computador == 2) ? 2 : 1;
    } 
    
    if (jogador == 2) {
        return (computador == 3) ? 2 : 1;
    } 
    
    return (computador == 1) ? 2 : 1;
}

Pessoalmente não gosto dessa sintaxe, pois a função fica com muitos pontos de escape (return), dependendo da situação isso pode dificultar a depuração do código.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...