Duvida Array

11 respostas
R

Boa noite,

estou batendo cabeça aqui e não consigo resolver uma questão.

Tenho uma classe Carro

a classe carro possui um array

private int[] c;

//inicializei o array com 4 posições e coloquei um numero dentro de cada uma delas.

int[] c = new int[5];

c[0] = 1;

c[1] = 2;

c[2] = 3;

c[3] = 4;

c[4] = 5;

Tenho uma classe Concessionaria que possui um array de Carro

private Carro[] carros;

preciso criar um método onde o usuário vai digitar um numero por parâmetro, esse numero indica uma posição no array © da classe Carro. Preciso verificar se o numero é igual. Exemplo, se o usuário digitar 3, preciso ir la na posição c[2] e verificar se tem um 3 lá.

inicializei o array de carros com 4 posições

carros[0] = new Carro();

carros[1] = new Carro();

carros[2] = new Carro();

carros[3] = new Carro();

Não consigo entender a logica para o metodo

public void comparaCarro(int num)
//preciso ver se o numero digitado esta dentro do array de ©, que esta dentro da posição 0 do array de carros.

Obrigado

11 Respostas

viniciosarodrigues

Logo no começo que você fala que criou um array com quatro posições, na verdade você criou um array com 5. Depois vem a parte do carro, ele quer que faça a mesma coisa, porém, com carros.
Quando ele inicia um Array com quatro posições ele quer isso

Carro[] c = new Carro[4];

Já no método de comparação, você tem que criar um método que receba um inteiro como parâmetro e depois faça uma comparação do valor recebido com algum valor inteiro da classe carro… Não sei se esta classe possui número mas é basicamente isso que ele quer dizer, se possuir provavelmente terás que criar um get para fazer as comparações, ou então deixar as chaves públicas, mas, assim acaba fugindo das normas técnicas.

R

Entendo.

Eu tenho o getC() que é o retorno, porem eu nao sei como pegar a posição. Exemplo classe.getC().???

quero pegar a posição c[2] do array. Tambem não sei se isso é possivel.

ViniGodoy

Seria algo como:

if (c[valorDigitado-1] == valorDigitado)

Para que serve esse vetor c exatamente? Por que você inicializou desse jeito?
Provavelmente tem um jeito mais fácil de resolver seu problema, que não dependa desse vetor.

R

Serve para fazer uma comparação.

Eu tenho um array C na classe carro, podia inicializar por um for, mas como estou aprendendo fiz daquela maneira. (só por fazer mesmo).
Inseri um numero para cada carro no mesmo.

Na classe concessionaria, eu tenho um array de carros, e nela gostaria de fazer um método para comparar se tem o tal carro ou não no array C da classe carro.

eu não consigo identificar como pegar na classe concessionaria, uma posição qualquer do array C da classe carro.

O usuário vai passar por parâmetro qual a posição do array C ele quer e qual o numero do carro ele quer ver se tem lá.

No método eu penso que seria mais ou menos assim

public void compara(int num){

int posicao = 3;

if(posição do array c == num) // onde coloquei em aspas, teria que colocar ali a posição do array c, c[3].

}

se eu colocar somente c[3] não funciona.

viniciosarodrigues

Entendi oq a questão quer, porém não entendi pq você criou uma variável dentro do método compara… Creio que fique algo mais ou menos assim:

public String compara(int valor){
    if(c[valor] == valor)
       return "Os valores são iguais";
    else
       return "Os valores são diferentes";
}

Lembando que no array as posições começam a partir da posição 0

R

Certo, vendo agora não precisa da variável mesmo, como você postou

o meo pensamento é igual ao seu, porem dentro da classe concessionaria eu nao consigo, chamar c[valor], por que ele esta na classe carro

eu consigo chamar carros.getC(), porem não consigo passar a localização do indice que seria o valor.

viniciosarodrigues

Então faz assim

if(c.get(valor) == valor)
R

tipo
dentro da classe concessionaria eu nao consigo usa c.xxx

viniciosarodrigues

Posta aí a tua classe Conscecionária

ViniGodoy

Melhor ainda, posta as duas classes.

R

Posto assim que chegar em casa!!

Criado 23 de junho de 2014
Ultima resposta 24 de jun. de 2014
Respostas 11
Participantes 3