Ir ao conteúdo
  • Cadastre-se

Ocupar parte da matriz em java


leonardocintra

Posts recomendados

  • Membro VIP
alguem pode me mostra

como faz pra eu ocupar uma parte da matriz?

por exemplo, num teatro,

mostrar cadeiras livres e ocupadas,

e falar pro usuario quais sao disponiveis??

coloquem so a parte da matriz que eu teno o resto

valeuu!!:confused:

Não entendi bem o que você deseja. Mas se você deseja percorrer a matriz inteira será necessário utilizar dois laços aninhados (de preferência usando for), o laço externo ficaria responsável por percorrer as linhas e o interno por percorrer as colunas, ou vice-versa.

Seria algo como:

for(int i = 0; i < 40; i++)
for(int j = 0; j < 20; j++)
System.out.println(matriz[j][i]);

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Peço as Administradores que não exclua

esse topico pois muita gente pode usar como exemplo :lol:

CLASSE SALA DO CINEMA!


public class Sala
{
private int linha;
private int coluna;
private int numsala;
private String poltronas[][] = new String[10][10];
public Sala(int num,int linha,int coluna)
{
numsala = num;
poltronas = new String[linha][coluna];
this.linha = linha;
this.coluna = coluna;
int aux=1;
for (int l=0;l<this.linha;l++)
{
for(int c=0;c<this.coluna;c++)
{
poltronas[l][c] = Integer.toString(aux);
aux++;
}
}
}
public String reservalugar(int lugar)
{
String aux = "Lugar Indisponível";
for (int l=0;l<this.linha;l++)
{
for(int c=0;c<this.coluna;c++)
{
if(poltronas[l][c].equals(Integer.toString(lugar)))//Separando o lugar desejado na matriz
{
if(!poltronas[l][c].equals("X"))//compara se a poltrona ja esta preenchida
{
aux = "LUGAR "+lugar+" RESERVADO COM SUCESSO !";//exibi a mensagem na tela
poltronas[l][c] = "X";//reserva uma poltrona na sala
return aux;
}
}
}
}
return aux;
}
//O usuário indicará a sua fileira e o programa reservara, se disponivel, um lugar nesta fileira
public String ReservanaFileira(int fileira)
{
String aux = "NÃO POSSUI LUGAR DISPONIVEL NESTA FILEIRA !";//se acaso ele não encontrar lugars disponiveis(Diferente de "X" o programa lhe retornará esta frase
for(int c=0;c<this.coluna;c++)
{
if(this.linha > fileira && fileira >= 0)//compara se fileira desejada existe
{
if(!poltronas[fileira][c].equals("X"))//compara se a poltrona já esta preenchida
{
aux = "LUGAR "+poltronas[fileira][c] + " RESERVADO COM SUCESSO";//mensagem que será exibida na tela com as informações da poltrona
poltronas[fileira][c] = "X";//reserva uma poltrona na sala
return aux;
}

}
else
{
aux = "FILEIRA NÃO EXISTE POR FAVOR DIGITE NOVAMENTE";//fileira deseja não existe
}
}
return aux;
}
//O usuario dirá ao programa a quantidade de lugares desejados
//e o método reservará as poltronas retornando as mesmas reservadas automaticamente pelo programa
public String ReservaQtd(int qtd)
{
int cont = 0;//contador para comparar os lugares disponíveis
String aux = " LUGARES RESERVADOS: ";//variável que receberá os acentos reservados pelo programa
if(qtd > (linha*coluna) || qtd <= 0)//valida a quantidade indicada pelo usuário é maior que a sala ou menor que a sala
{
return "LUGARES INDISPONIVIES";
}
String vet[] =new String[qtd];//vetor que armazena lugares disponíveis
for (int l=0;l<this.linha;l++)
{
for(int c=0;c<this.coluna;c++)
{
if(!poltronas[l][c].equals("X") && cont < qtd)//compara se a poltrona ja esá preenchida e se o vetor ja atingiu a quantidade de lugares desejados
{
vet[cont] = poltronas[l][c];//guardando o numero da poltrona no vetor
poltronas[l][c] = "X";//reservando lugar na matriz
cont++;
}
}
}
for(int i=0;i<qtd;i++)
{
aux = aux + vet[i]+" ,";//armazenando poltonas reservadas no aux para serem mostradas na tela
}
return aux;
}
//metodo que retorna o numero da sala
public int getNumSala()
{
return numsala;
}
//método retorna a sala
public void MostraPoltronas()
{
for (int l=0;l<linha;l++)
{
System.out.print(" "+(l+1)+" =>");//mostra o numero da coluna da sala
for(int c=0;c<coluna;c++)
{
System.out.print(" "+poltronas[l][c]+" |");//mostra a sala prenchida com o numero das cadeiras
}
System.out.print(" \n");
}
System.out.println(" \n");
}

}

CLASSE SESSAO DO CINEMA!


public class Sessao
{
private int codsessao;//codigo da sessão instanciada
private String data;//a data
private String hora;// e a hora
private int codTicket;//atributo para controlar o codigo do Ticket pois nenhum pode ser igual ao outro
private String recebecadeira;//atributo para guardar o lugar reservado do usuário para ser emitido no ticket
Sala s;//Instancia de Sala
Filme f;//Intancia de Filme
public Sessao(int num, int linha, int coluna, //parametros para instanciar o objeto Sala
int codfilme,String nome,String faixa,String duracao, //parametros para instanciar o objeto Filme
int cod, String data, String hora)//parametros para instanciar atributos desta classe
{
s = new Sala(num,linha,coluna);//instancia o objeto Sala
f= new Filme(cod,nome,faixa,duracao);//instacia o objeto Filme
codsessao = cod;
this.data = data;
this.hora = hora;
this.codTicket = 1;//iniciando o valor do ticket
}
public void ConsultaSala()//método para consultar as poltronas da sala
{
s.MostraPoltronas();
}
public void ReservarPoltrona(int lugar)//metodo para reservar uma poltrona especifica indicada pelo usuario
{
String valor = s.reservalugar(lugar);
if(valor.equals("Lugar Indisponível"))//se o valor retornado pelo método for false o lugar ja esta ocupado
{
System.out.println("LUGAR INDISPONÍVEL");//exibe a mensagem na tela de lugar indisponiel
s.MostraPoltronas();//mostra a sala
}
else//se o valor retornado pelo método for true mostra o ticket contendo todas as informações e exibe a sala novamente
{
recebecadeira = valor;//passa o lugar desejado para o metodo onde reserva a poltrona
MostraTicket();

}
}
//usuario indicara a fileira que desejara e o sistema indicara o assento disponivel
//exibindologo apos a sala
public void IndicarFileira(int numfileira)
{
recebecadeira = s.ReservanaFileira(numfileira-1);//auxiliar para comparaçao de valores e exibição do Ticket
if(!recebecadeira.equals("FILEIRA NÃO EXISTE POR FAVOR DIGITE NOVAMENTE"))
{
MostraTicket();
}
else
{
System.out.println(" " +s.ReservanaFileira(numfileira-1));
}
}
public void ReservarLugares(int qtd)//usuario indicara a quantidade de lugar a ser reservado
{
recebecadeira = s.ReservaQtd(qtd);
MostraTicket();
}
public void MostraTicket()
{
System.out.println(" Codigo do Ticket "+codTicket);
System.out.println(" Data: "+data);
System.out.println(" Horas: "+hora);
System.out.println(" "+recebecadeira);
System.out.println(" Codigo do Filme: "+f.getCodFilme());
System.out.println(" Nome do Filme: "+f.getNome());
System.out.println(" Faixa Etária: "+f.getFaixaEtaria());
System.out.println(" Duração: "+f.getDuracao());
codTicket++;//para que o valor do ticket não seja igual
s.MostraPoltronas(); //exibe na tela a sala com o lugar reservado como X
}


}

CLASSE FILME (filme que o usuario escolher!)


public class Filme
{
//atributos do filme
private int codfilme;//codigo correspondente ao filme
private String nome;//Nome do filme
private String F_etaria;// Faixa etária do filme
private String duracao;//duração do filme
public Filme()
{
//construtor padrão
}
//contrutor inicializado
public Filme(int cod,String nome,String faixa,String duracao)
{
codfilme = cod;
this.nome = nome;
F_etaria = faixa;
this.duracao = duracao;
}
//O metodo setCodFilme se usa para alterar o código adjacente ao filme
public void setCodFilme(int cod)
{
this.codfilme = cod;
}
//Retorna o codigo do filme
public int getCodFilme()
{
return codfilme;
}
//O metodo setNome altera o nome do filme
public void setNome(String nome)
{
this.nome = nome;
}
//Retorna o nome do filme
public String getNome()
{
return nome;
}
//O metodo o altera a Faixa Etaria
public void setFaixaEtaria(String faixa)
{
this.F_etaria = faixa;
}
//Retorna a faixa etaria do filme
public String getFaixaEtaria()
{
return F_etaria;
}
//O metodo setDuracao alterar o a duração do filme
public void setDuracao(String duracao)
{
this.duracao = duracao;
}
//Retorna a duraçao do filme
public String getDuracao()
{
return duracao;
}

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...