Vector fill problem with typed text reading

Asked

Viewed 38 times

2

I’m doing a little job, which consists in registering teams and matches of a football championship. When compiling and executing the code, it works, but in the part where I will register, it jumps field.

example:

Esse é o probleminha

The codes of the program:

CLASS 1

public class Times {



    private Integer codigo;
    private String nome;
    private String data_fund;

    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }

    public String getNome() {
        return nome;
    }

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

    public String getdata_fund() {
        return data_fund;
    }

    public void setdata_fund(String data_fund) {
        this.data_fund = data_fund;
    }
}

CLASS 2

public class Partidas {

    String TimeA;
    String TimeB;
    int Placar_timeA;
    int Placar_timeB;
    int pub_presente;


    public String getTimeA() {
        return TimeA;
        }

        public String TimeB() {
        return TimeB;
        }

        public int Placar_timeA() {
        return Placar_timeA;
        }

        public int Placar_timeB() {
            return Placar_timeB;
            }

        public int pub_presente() {
            return pub_presente;
            }

    public void setTimeA(String TimeA) {
        this.TimeA = TimeA;
        }

        public void setTimeB(String TimeB) {
        this.TimeB = TimeB;
        }

        public void setPlacar_timeA(int Placar_timeA) {
        this.Placar_timeA = Placar_timeA;
        }

        public void setPlacar_timeB(int Placar_timeB) {
            this.Placar_timeB = Placar_timeB;
            }

        public void setpub_presente(int pub_presente) {
            this.pub_presente = pub_presente;
            }

}

main

import java.util.Scanner;


public class Main {


    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner entrada = new Scanner(System.in);


        Times [] b ;
        b = new Times [20];

        Partidas [] p ;
        p = new Partidas [20];

        int op = 0;

        System.out.print("Digite a opção que deseja: \n");
        System.out.print("1 - Cadastrar Times. \n");
        System.out.print("2 - Cadastrar Partidas. \n");
        op = entrada.nextInt();

        if (op > 2 ){

            System.out.print("Opção INCORRETA! Inicie novamente \n");
        }

        if (op == 1) {

        for (int i=0; i<5; i++){

            b[i] = new Times();

            System.out.print("Digite o código do Time: ");
            b[i].setCodigo(entrada.nextInt());


            System.out.print("Digite o nome do Time: ");
            b[i].setNome(entrada.nextLine());

            System.out.print("Digite a data de fundação do Time: ");
            b[i].setdata_fund(entrada.nextLine());

            System.out.print("\n\n"); 
        }}

        if ( op == 2){

            for (int i=0; i<5; i++){

                p[i] = new Partidas();

                System.out.print("Digite o TimeA:");
                p[i].setTimeA(entrada.nextLine());

                System.out.print("Digite o TimeB: ");
                p[i].setTimeB(entrada.nextLine());

                System.out.print("Digite o placar do TimeA: ");
                p[i].setPlacar_timeA(Integer.parseInt(entrada.nextLine()));

                System.out.print("Digite o placar do TimeB: ");
                p[i].setPlacar_timeB(Integer.parseInt(entrada.nextLine()));

                System.out.print("Digite o Publico Presente: ");
                p[i].setpub_presente(Integer.parseInt(entrada.nextLine()));

                System.out.print("\n\n"); 
            }}  

        }

  }
  • Try to put your input into a local variable before using your setTime(AB) System.out.print("Digite o TimeA:"); string teste = entrada.nextLine();&#xA; p[i].setTimeA(teste );

  • I tested this solution, but it is still in the same error. It presents this error in the first execution of "for", and only with string. On the second run it’s normal.

  • Or duplicate of this: How to use the Java scanner

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.