Boa tarde pessoal!
Sou novo em java e estou com uma duvida em um exercício que estou fazendo.
Programe um método que recebe um array de objetos do tipo Circulo e um valor double. O método vai
procurar no array um objeto que tenha como raio o valor passado no parâmetro. Se encontrar só na primeira
metade do array, vai retornar 1; só na segunda metade, vai retornar 2; se aparecer na primeira e na segunda
metade, retornará 3; se não achar, vai retornar 0.
Montei a classe Circulo e esse método, porem não está funcionando os retorno 2, 3 e 0.
Se alguém poder ajudar…
[code]public class Circulo {
private int raio;
public Circulo(int raio) {
this.raio = raio;
}
public int getRaio() {
return raio;
}
public void setRaio(int raio) {
this.raio = raio;
}
public int buscaArray(Circulo[] ar, int num) {
int result = 0;
//contador para verificar a existencia na primeira metade do array
int existe = 0;
//verfica a primeira metade
for (int j = 0; j < ar.length / 2; j++) {
if (num == ar[j].getRaio()) {
result = 1;
if (result == 1) {
existe = 1;
}
}
}
//verifica a segunda metade
for (int j = ar.length+1; j > ar.length/2+1; j--) {
if (num == ar[j].getRaio()) {
result = 2;
if (existe == 1) {
result = 3;
}
}
}
for (int i = 0; i < ar.length; i++) {
if (num != ar[i].getRaio()) {
result = 0;
}
}
return result;
}
}
[/code]
Teste
[code]
public class TesteCirculo {
public static void main(String[] args) {
Circulo[] circulos = new Circulo[10];
for (int i = 0; i < circulos.length; i++) {
circulos[i] = new Circulo(1 + (int) (Math.random() * 10));
}
for (int i = 0; i < circulos.length; i++) {
System.out.println(circulos[i].getRaio());
}
System.out.println("Verifica");
Circulo c = null;
System.out.println(c.buscaArray(circulos, 7));
}
}[/code]
E na teste sempre que eu executo no netbeans ele me retorna a mensagem:
at TesteCirculo.main(TesteCirculo.java:27)
Java Result: 1