pessoal como eu faço para armazernar valores em um vetor tridimensional?tenho um vetor passageiroTransporta e quero armazer os valores que estou passando por parametro neles,mais só consigo aramazer um valor.
alguém pode me ajudar?e que nunca usuei vetor de 3 dimensões.
obrigado
Cara, eu acho que você só devia criar um vetor unidimensional com três posições (hora, dia e mês - as posições que você precisar)… e fazer as validações no início do método!
Ou então criar uma classe que encapsule esses atributos aí…
Pelo jeito que você tá criando aí… você iria recuperar a data pelas posições do array, então poderia colocar qualquer valor só pra identificar a posição!
C
cleber_zeh
o enuciado do exercicio pedi para criar uma matriz.Então ta errado do geito que estou fazendo?
Você está trabalhando em um projeto de automação de uma estação ferroviária. Uma das classes
identificadas é PassageirosHora, que foi definida como sendo uma matriz tridimensional de
inteiros que em cada posição guarda a quantidade de passageiros transportados por hora, de
determinado dia, de determinado mês. Assim a matriz é de ordem 12 meses x 30 dias x 24
horas. Crie esta classe, que deve ter as seguintes funcionalidades
souzaJr
Ok, embora o enunciado esteja estranho… então essa sua matriz vai guardar a quantidade de passageiros daquele dia… Pra fazer o método insert basta ir na posição que o cara passou pelo método e adicionar uma unidade!!!
Sobre a sua dúvida, você não vai guardar três posições, você vai guardar uma unidade a mais na posição que for passada pelo método!!
É importante você validar (verificar se os números passados estão dentro dos limites do array ) pois poderá receber uma Exception…
Até mais.
C
cleber_zeh
ok,obrigado souza,então é só fazer assim o adiciona?
public void PassageirosHora(int hora, int dia, int mes) {
Quase isso … Abaixo segue um código que vai te ajudar…
Lembre-se que os arrays em Java começam no índice 0. Ou seja…Janeiro igual ao mês 0. Mas, caso precise exibir algumas informações, você pode adaptá-lo para ficar tudo direitinho…aproveite para fazer isso.
Até mais.
publicclassTeste{privateintpassageiroTransporta[][][]=newint[24][31][12];//Retorna true se os parâmetros estiverem corretos!!publicbooleaninserePassageiro(inthora,intdia,intmes){if(hora>=0&&dia>=0&&mes>=0){if(hora<24&&dia<31&&mes<12){passageiroTransporta[hora][dia][mes]++;returntrue;}}returnfalse;}publicintgetNumPassageiros(){intresultado=0;for(int[][]a:this.passageiroTransporta){for(int[]b:a){for(intc:b){resultado+=c;}}}returnresultado;}publicstaticvoidmain(String[]args){Testet=newTeste();t.inserePassageiro(10,2,1);System.out.println(t.getNumPassageiros());}}