Preciso de ajuda

Questão 1 - Crie uma classe Aluno, que possui um nome e uma idade. Crie um
construtor que recebe parâmetros para inicializar todos os atributos. Crie os métodos de acesso.
Sobrescreva o método toString.

Questão 2 - Crie uma classe chamada Cor, que possui 3 inteiros, referentes à quantidade
de R, G e B da cor. Crie um construtor que recebe parâmetros para inicializar todos os atributos.
Crie os métodos de acesso. Sobrescreva o método toString.

Questão 3 - Crie uma classe chamada Data. Uma data possui 3 inteiros, referentes ao
dia, mês e ano. Crie um construtor que recebe parâmetros para inicializar todos os atributos.
Crie os métodos de acesso. Sobrescreva o método toString, que retorna a data no formato
“dia/mês/ano”.

Questão 4 - Crie uma classe chamada Cadeira, que possui uma cor (objeto do tipo Cor)
e um atributo do tipo Aluno, que indica o aluno que está ocupando a cadeira. Sabendo que
quando uma cadeira é criada ela não está ocupada, crie um construtor que recebe apenas a cor
da cadeira por parâmetro. Crie os métodos de acesso. Sobrescreva o método toString.

Questão 5 - Crie uma classe chamada CadeiraComMesa, que é um tipo de cadeira e
representa uma cadeira com mesa acoplada. Esta classe possui dois atributos, que representam
a largura e a profundidade da mesa acoplada. Crie um construtor que recebe parâmetros para
inicializar todos os atributos. Crie os métodos de acesso necessários. Sobrescreva o método
toString.

Questão 6 - Crie uma classe chamada CadeiraComRodinhas, que é um tipo de
cadeira e representa uma cadeira com rodinhas nos pés. Esta classe possui um atributo que
representa a data da última manutenção desta cadeira (objeto do tipo Data). Crie um
construtor que recebe parâmetros para inicializar todos os atributos. Crie os métodos de acesso
necessários. Sobrescreva o método toString.

Questão 7 - Crie uma classe chamada Sala, que possui um nome e um array de
Cadeira. No construtor desta classe, receba o nome da sala e a quantidade de cadeiras que
esta sala possui, inicializando o array com este tamanho. Ainda no construtor, depois de
instanciar o array de Cadeira com o tamanho indicado, coloque cadeiras nesta sala. Atente
para os seguintes pontos:
• A sala terá cadeiras com rodinhas e cadeiras com mesas acopladas. O tipo de cada
cadeira a ser inserido em cada posição do array deve ser escolhido de forma aleatória
• As cores das cadeiras devem ser escolhidas de forma aleatória, sendo que o R, o G e o B
podem assumir valores entre 0 (inclusive) e 255 (inclusive).
• Crie os métodos de acesso. Sobrescreva o método toString, que retorna o nome da
sala e a informação de todas as cadeiras que a sala possui.

Questão 8 - Na classe Sala, crie um método que retorna a quantidade de cadeiras com
mesa que estão livres para alguém sentar, ou seja, que não estão ocupadas por algum aluno.
Chame este método de cadeirasComMesaDisponiveis.

Questão 9 - Na classe Sala, crie um método que retorna a quantidade de cadeiras com
rodinhas que estão livres para alguém sentar, ou seja, que não estão ocupadas por algum aluno.
Chame este método de cadeirasComRodinhasDisponiveis.

Questão 10 - Na classe sala, crie um método chamado entraAluno, que recebe um
objeto do tipo Aluno e uma String que representa o tipo de cadeira que ele quer sentar por
parâmetro. O parâmetro do tipo de cadeira terá dois valores: “mesa” ou “rodinha”. Assim
sendo, o método deve colocar o aluno recebido por parâmetro em uma cadeira do tipo
desejado. Caso não tenha cadeira do tipo desejado disponível, o aluno deve sentar em uma
cadeira de outro tipo que estiver disponível.
O método retorna um texto, sendo:
• “ocupou a cadeira desejada”, quando o aluno encontrou uma cadeira do tipo
desejado livre e ocupou aquela cadeira
• “ocupou outro tipo de cadeira”, quando o aluno não encontrou uma cadeira
do tipo desejado livre e ocupou outro tipo de cadeira
• “não ocupou cadeira alguma”, caso não tenha cadeira de tipo algum disponível
para o aluno

Questão 11 - Crie uma classe chamada Principal. Nesta classe, crie o método main.
No main, faça o que se pede:
• Crie um objeto do tipo Sala, com capacidade de cadeiras aleatória entre 1 e 20
e com nome solicitado pelo Teclado
• Imprima as informações da sala
• Tente fazer 20 alunos entrarem na sala. O nome, a idade e o tipo de cadeira de
cada aluno deve ser escolhida de alguma forma aleatória. A cada inserção, imprima na
tela o que aconteceu com a tentativa de entrada do aluno na sala
• Imprima a área de todas as mesas acopladas nas cadeiras que possuem mesa
• Imprima a data da última manutenção de cada cadeira com rodinhas presenta
na sala
• Insira as seguintes linhas NAS PRIMEIRAS LINHAS da classe Principal:

import javax.swing.*;
import java.awt.Color;

Peça para o Usuário digitar o nome de um aluno para procurar na sala. Em seguida,
utilize o código abaixo (no final do seu método main) para abrir uma janela contendo a
cor da cadeira que este aluno está sentado:
JFrame a = new JFrame();
a.setSize(200, 200);
JPanel j = new JPanel();
j.setBackground(new Color(R, G, B));
a.add(j);
a.setVisible(true);
Atente para o fato de que no trecho de código “j.setBackground(new
Color(R, G, B));”, as letras R, G e B devem ser substituídas pelo conteúdo
respectivo da cor da cadeira que o aluno está sentado.
Se tudo der certo, uma janela com a cor da cadeira vai ser aberta.

Não ficou claro qual sua dúvida.
Precisa com ajuda em qual parte?

A partir da questão 4