Field int as string

1

I'm working on a code for a college job, but I'm having problems, even though the "home" is set to INT, netbeans continues to display:

  

"Incompatible types: String can not be converted to int"

Below is the code, thank you!

package tictactoe;

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

/**
 *
 * @author Leonardo
 */
public class Main {

    private static String tipoJogo;
    private static Random rand = new Random();
    private static int  n = rand.nextInt(9) + 1;
    private static int casa;
    public static void main(String[] args) {
        Scanner carrega = new Scanner(System.in);

        System.out.println("Bem vindo!");
        System.out.println("Insira o tipo de Jogo");
        tipoJogo = carrega.next();

        int valida = 0,
                jogadas = 0;

        jogo jogo = new jogo();


        switch (tipoJogo) {

            case "humano":

                while (true) {
                    System.out.println("teste teste");

                    do {
                        jogo.varTabu();
                        System.out.printf("Primeiro Jogador, ensira sua "
                                + "jogada nas casas de 1 a 9 \n\r");
                        casa = carrega.next();
                        while (!jogo.ok(casa)) {
                            System.out.print("Casa já escolhida, tente outra!");
                            System.out.printf("Primeiro Jogador, ensira sua "
                                    + "jogada nas casas de 1 a 9");
                            casa = carrega.next();
                            valida = 0;

                        }
                        jogo.jogada(casa, "O");
                        valida = 1;

                    } while (valida == 0);
                    jogadas++;
                    valida = 0;
                    if (!jogo.ganhador(jogadas).equals("null")) {
                        break;
                    }
                    do {
                        jogo.varTabu();
                        System.out.printf("Segundo Jogador, ensira sua "
                                + "jogada  nas casas de 1 a 9\n\r");
                        casa = carrega.next();
                        while (!jogo.ok(casa)) {
                            System.out.print("Casa já escolhida, tente outra!");
                            System.out.printf("Segundo Jogador, ensira sua "
                                    + "jogada /n/r nas casas de 1 a 9");
                            casa = carrega.next();
                            valida = 0;

                        }
                        jogo.jogada(casa, "X");
                        valida = 1;

                    } while (valida == 0);
                    jogadas++;
                    valida = 0;
                    if (!jogo.ganhador(jogadas).equals("null")) {
                        break;
                    }
                }
                jogo.varTabu();
                System.out.printf("O campeão foi o " + jogo.ganhador(jogadas));
                break;
            case "cFacil":

                while (true) {
                    System.out.println("teste teste");

                    do {
                        jogo.varTabu();
                        System.out.printf("Primeiro Jogador, ensira sua "
                                + "jogada nas casas de 1 a 9 \n\r");
                        casa = carrega.next();
                        while (!jogo.ok(casa)) {
                            System.out.print("Casa já escolhida, tente outra!");
                            System.out.printf("Primeiro Jogador, ensira sua "
                                    + "jogada nas casas de 1 a 9");
                            casa = carrega.next();
                            valida = 0;

                        }
                        jogo.jogada(casa, "O");
                        valida = 1;

                    } while (valida == 0);
                    jogadas++;
                    valida = 0;
                    if (!jogo.ganhador(jogadas).equals("null")) {
                        break;
                    }
                    System.out.println("pudim");

                    break;
                }
                /* inicio parte computador           
                //////////////////////////////////
                //////////////////////////////////
                //////////////////////////////////
                /////////////////////////////////                
                 */
                do {
                    jogo.varTabu();

                    System.out.printf("Segundo Jogador, ensira sua "
                            + "jogada  nas casas de 1 a 9\n\r");
                    n = carrega.next();
                    while (!jogo.ok(casa)) {
                        System.out.print("Casa já escolhida, tente outra!");
                        System.out.printf("Segundo Jogador, ensira sua "
                                + "jogada /n/r nas casas de 1 a 9");
                        casa = carrega.next();
                        valida = 0;

                    }
                    jogo.jogada(casa, "X");
                    valida = 1;

                } while (valida == 0);
                jogadas++;
                valida = 0;
                if (!jogo.ganhador(jogadas).equals("null")) {
                    break;
                }
                break;
        }
        jogo.varTabu();
        System.out.printf("O campeão foi o " + jogo.ganhador(jogadas));

    }
}
    
asked by anonymous 07.10.2016 / 03:33

1 answer

3

The next() method of the Scanner returns a delimited string up to the first space. Therefore, you can not assign this data entry catch in String to an int variable.

Change all:

casa = carrega.next();

To:

casa = carrega.nextInt();

The n = carrega.next(); line will probably give this same problem because n was declared as int, make the same change to solve the problem.

As there is a data capture loop, you're more likely to experience problems with a line break that leaks from this call, enjoy and read in this question , should this occur.

References to reading:

Scanner Class

Data Entry: Scanner Class

    
07.10.2016 / 03:39