If + Boolean in Java

Asked

Viewed 111 times

2

Good evening, I’m having trouble with my code. I’m using 2 classes to develop a program that accounts for a team victory (Soccer Scoreboard style). My problem is at the time of "if" and "Else". When I put the if and the else, so much inside CasaDoCorinthians how much of this method I declared below, it appears wrong in my main method (when I call within the object the attributes); I don’t know if it’s because this if (CasaDoCorinthians == true), but when I only put one = of assignment the code does not call the else and skip the other if from the bottom of the code - within the method void.

What’s wrong with the code?

package futebol;

import javax.swing.JOptionPane;

public class Futebol {

    String corinthians, flamengo;
    boolean CasaDoCorinthians;
    private int golsFeitosFlamengo, golsFeitosCorinthians;
    protected int resultado;

    public Futebol() { 
        golsFeitosFlamengo = 0;
        resultado = 0;
        golsFeitosCorinthians = 0;

        corinthians = "camisa principal";
        flamengo = "camisa principal";
    }

    public String getCorinthians() {
        return corinthians;
    }

    public void setCorinthians(String newCorinthians) {
        if (CasaDoCorinthians == true) {
            JOptionPane.showMessageDialog(null, "O Corinthians está jogando em casa!");
        } else {
            JOptionPane.showMessageDialog(null, "O Flamengo está jogando em casa!");
        }
    }

    public int getGolsFeitosFlamengo() {
        return golsFeitosFlamengo;
    }

    public void setGolsFeitosFlamengo(int golsFeitosFlamengo) {
        this.golsFeitosFlamengo = golsFeitosFlamengo;
    }

    public int getGolsFeitosCorinthians() {
        return golsFeitosCorinthians;
    }

    public void setGolsFeitosCorinthians(int golsFeitosCorinthians) {
        this.golsFeitosCorinthians = golsFeitosCorinthians;
    }

    void comecoJogo() {
        if (CasaDoCorinthians == true) {
            JOptionPane.showMessageDialog(null, "O Jogo é na Arena Itaquera");
        } else {
            JOptionPane.showMessageDialog(null, "O Jogo é no Maracanã");
        }
    }

    void resultado() {
        resultado = golsFeitosCorinthians - golsFeitosFlamengo;

        if (resultado > 0) {
            JOptionPane.showMessageDialog(null, "Vitória do Corinthians");
        }
        if (resultado < 0) {
            JOptionPane.showMessageDialog(null, "Vitória do Flamengo");
        } else {
            JOptionPane.showMessageDialog(null, "Jogo Empatado");
        } 
    }
}

Class 2:

package futebol;

public class Partida {

    public static void main(String[] args) {   
        Futebol jogo = new Futebol();
        jogo.comecoJogo();
        jogo.CasaDoCorinthians = (true);
        jogo.setGolsFeitosFlamengo(5);
        jogo.setGolsFeitosCorinthians(4);

        jogo.resultado();
    }
}
  • What method are you having trouble with? Try to formulate your question better, it helps those who will answer to give a more precise answer and those who have the same doubt find your question.

  • André, as the question was closed I cannot elaborate an answer. However, a first problem is that you are calling jogo.comecoJogo();before jogo.CasaDoCorinthians = true; logo o código está imprimindo que o jogo é Maracanã. Outro problema é que o método setCorinthians: 1. Não faz sentido e 2. Não está sendo chamado. O que você provavelmente quer é um método setCasaDoCorinthians(Boolean houseDoCorinthians)que atribui oBooleane potencialmente imprime as mensagens que no momento estão emsetCorinthians`.

  • Finally, your code has some unused variables (e. g., String corinthians, flamengo;), others that could be private (casaDoCorinthians, resultado), etc. For the rest, a lot can be simplified and generalized (e.g., working with two generic teams instead of just French and Flemish). I hope I’ve helped.

  • Anthony Accioly’s question was not closed, but marked as pending.

  • It is quite selfless to strive to find the problem on your own and provide a solution. But that will discourage you from getting better at asking. And it’s important that not only are the answers well prepared but the questions also so that they can help people with the same problem or doubt.

No answers

Browser other questions tagged

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