Duvida no código

Estas são as minhas duas classes, e quando imprimo o código ele espera 5 saídas, mas no meu código saem 7. Alguém sabe o porque disso e como eu posso resolver?

public class Casa{
        String cor;
        int numero;
        boolean estadoPorta = false;
        boolean estadoJanela = false;

        void abrirPorta(){
            System.out.println("Porta Aberta");
            
        };
        void fecharPorta(){
            System.out.println("Porta Fechada");
            
        };
        void abrirJanela(){
            System.out.println("Janela Aberta");
            
        };
        void fecharJanela(){
            System.out.println("Janela Fechada");
            
        };
        void imprimirDadosCasa(){
            System.out.println(numero);
            System.out.println(cor);
            System.out.println(estadoPorta);
            System.out.println(estadoJanela);
            
        }   
    }

public class AppCasa{  
  
    public static void main(String args[]) {  
          
        Casa cs = new Casa();  
     
     
    cs.numero = Integer.parseInt(JOptionPane.showInputDialog("Digite o Numero da Casa:"));  
 cs.cor = JOptionPane.showInputDialog("Digite a cor:");  
    String aux =  
    JOptionPane.showInputDialog("Deseja abrir a Porta? Digite S/N");  
    if(aux.equals("S")){  
     cs.abrirPorta();  
    }  
   aux =  
   JOptionPane.showInputDialog("Deseja abrira Janela? Digite S/N");  
   if(aux.equals("S")){  
   cs.abrirJanela();  
         
}  
        System.out.println(cs);  
        cs.imprimirDadosCasa();  
          
          
    }

bom tem alguns erros:

1 - Você está mandando imprimir quando chama cada método abrirPorta(), fecharPorta(), abrirJanela(), fecharJanela();, então cada vez que chamar um desses métodos ele vai imprimir.

2 - Você está tentando imprimir um objeto inteiro de uma classe quando faz:
System.out.println(cs); , oque não seria problema se tivesse implementado o método toString() dentro da classe Casa.

3 - Depois de tentar imprimir a classe, você está tentando imprimir os atributos, oque seria a mesma coisa que implementar o toString() na classe Casa, então faça um ou outro.

4 - quando você chama os métodos abrirPorta() fecharPorta() , etc, você só está imprimindo os valores na tela, mas não está atribuindo os valores as variáveis estadoPorta e estadoJanela. Por esse motivo val sempre imprimir false.

qualquer coisa prende o grito.