Não entendo o erro

6 respostas
jonasben

O problema para resolver é esse que segue abaixo...

Uma pequena companhia aérea acabou de comprar um computador para seu novo sistema automatizado de reservas. Você foi solicitado a desenvolver o novo sistema.

Você escreverá um aplicativo para atribuir assentos em cada voo da companhia aérea (capacidade: 100 acentos).

Seu aplicativo deve exibir as seguintes alternativas: digite 1 para FirstClasse 2 para Economy. Se o usuário digitar 1, seu aplicativo deve atribuir assentos na primeira classe (poltronas 1 a 20). Se o usuário digitar 2, seu aplicativo deve atribuir um assento na classe econômica (poltronas de 21 a 100).

Seu aplicativo deve exibir um cartão de embarque indicando o número da poltrona da pessoa e se ela está na primeira classe ou na classe econômica.

Utilize um array unidimensional do tipo boolean para representar o gráfico de assentos do avião. Inicialize todos os elementos do array com false para indicar que todas as poltronas estão desocupadas. À medida que cada assento é atribuído, configure o elemento correspondente do array com true para indicar que o assento não está mais disponível.

Seu aplicativo nunca deve atribuir uma poltrona que já foi reservada. Quando a classe econômica estiver lotada, seu aplicativo deve perguntar à pessoa se ela aceita ficar na primeira classe (e vice-versa). Se o cliente aceitar trocar de classe, faça a atribuição apropriada de assento. Se não aceitar, exiba a mensagem ?O próximo voo parte em 3 horas?.

public static void main(String[] args) {
    
                boolean[] assentos = new boolean[100];
                int classe, primeiraclasse = 0, economica = 20;
                Scanner input = new Scanner( System.in );
                String resposta;
                
                for (int i = 0; i < assentos.length; i++)
                {
                     assentos[i] = false;
                }
                
                while ( assentos[19] == false || assentos[99] == false)
                {
                        System.out.print( "digite 1 para primeira classe e digite 2 para economica: " );
                        classe = input.nextInt();
                        
                        if ( classe == 1 ) {
                        if (  assentos[19] ) // se utimo assento da Primeira Classe ja estiver reservado
                        {
                                System.out.print( "não há mais acentos na primeira classe. você quer um assento na classe economica? [S/N] " );
                                resposta = input.next();
                                
                                if(resposta.equals("S"))
                                {
                                        assentos[economica] = true;
                                        new Ticket( 2, economica );
                                        economica++;
                                        System.out.println("assento economico reservado.");
                                } else System.out.println("assentos economico não reservado.");
                        }
                        else
                        {
                               assentos[primeiraclasse] = true;
                                new Ticket( 1, primeiraclasse );
                                primeiraclasse++;
                        }
                    }
                        else if ( classe == 2)
                                if ( assentos[9] )
                                {
                                        System.out.print( "No more assentos at Economy. Do you want at First Class ? [Y/N] " );
                                        resposta = input.next();
                                        
                                        if(resposta.equals("Y"))
                                        {
                                               assentos[primeiraclasse] = true;
                                                new Ticket( 2, primeiraclasse );
                                                primeiraclasse++;
                                        } else System.out.println("assentos do not reserved.");
                                }
                                else
                                {
                                        assentos[economica] = true;
                                        new Ticket( 2, economica );
                                        economica++;
                                }
                        else
                        {
                                System.out.println( "Error. Invalid class." );
                                for (int i = 0; i <= 4; i++)
                                        if ( assentos[i] )
                                                System.out.println("First Class " + i + " reserved.");
                                        else System.out.println("First Class " + i + " NOT reserved.");
                                for (int i = 5; i <= 9; i++)
                                        if ( assentos[i] )
                                                System.out.println("Economica " + i + " reservado.");
                                        else System.out.println("Economica " + i + " não reservado.");
                        }
                }
                System.out.println( "No more assentos at all !!!" );
        }
}

6 Respostas

drsmachado

Leu nosso how to?
Leu as regras do fórum?
Não fazemos lição de casa.
Além disso, quando for postar algo, deixe extremamente bem clara qual a dúvida/problema para que seja possível tentar ajudar

P

Assim fica complicado, poste qual a sua dúvida mais especificadamente e qual o erro o seu programa acusa.

jonasben

eu quero entender qual é o meu erro!
tipo, tem alguns valores que ainda nao estão acertados, porém não sei identificar os erros

jonasben

erro:

Exception in thread main java.lang.RuntimeException: Uncompilable source code - constructor Ticket in class desafio_aula_19_03.Ticket cannot be applied to given types;

required: no arguments

found: int,int

reason: actual and formal argument lists differ in length

at desafio_aula_19_03.Desafio_aula_19_03.main(Desafio_aula_19_03.java:50)

Java Result: 1
Aleksandro

jonasben:
erro:

Exception in thread main java.lang.RuntimeException: Uncompilable source code - constructor Ticket in class desafio_aula_19_03.Ticket cannot be applied to given types;

required: no arguments

found: int,int

reason: actual and formal argument lists differ in length

at desafio_aula_19_03.Desafio_aula_19_03.main(Desafio_aula_19_03.java:50)

Java Result: 1</blockquote>

Pronto já tem a resposta !!!
Observe a linha 50 do seu código, voce esta passando 2 valores inteiros no construtor da sua classe Ticket new Ticket( 2, economica );
porém esta classe não tem um construtor que receberá como parametro 2 valores inteiros … portanto voce deve criar este construtor na sua classe ticket , entendeu ?

bons códigos e bons estudos !!!

jonasben

ahhh…obrigado, mas agora tenho outro problema que NÃO entendo e não entendo nada do que o professor fala:

Exception in thread main java.lang.UnsupportedOperationException: Not yet implemented

at desafio_aula_19_03.Ticket.(Ticket.java:14)

at desafio_aula_19_03.Desafio_aula_19_03.main(Desafio_aula_19_03.java:73)

Java Result: 1
Criado 19 de março de 2013
Ultima resposta 19 de mar. de 2013
Respostas 6
Participantes 4