Problema com logica ou com as colecoes?

2 respostas
Jordao_Bass

ola amigos do guj mais uma vez venho pedir ajuda a vcs :D

meu problema e o seguinte
tenho q fazer um trabalho pra minha facul q pede o seguinte um programa que clusterize um banco"não sei se estou me expressando bem "

em fim a ideia e mais ou menos a seguinte
pegar um grupo de numeros
depois criar 2 números aleatorios e separar esse grupo de numero por aproximação desses números aleatores q chamamos de centroide
e depois tirar a media do grupo e separar novamente .

ai esta meu metodo para separar eles em 2 grupos

public void aproximacao(DadosVO dadosvo) throws SQLException, ClassNotFoundException {
	
	conectar();
	String sql = "select * from numeros";
	
	List<DadosVO> Dados = new ArrayList<DadosVO>();
	
	PreparedStatement ps = conn.prepareStatement(sql);
	ResultSet rs = ps.executeQuery();

	
	while (rs.next()) {
		
		DadosVO vo = new DadosVO();
		vo.setNumero(rs.getDouble("numero"));
		Dados.add(vo);
	}
	rs.close();
	ps.close();


	for (DadosVO dadosVO2 : Dados) {
		System.out.println(dadosVO2.getNumero());
	}
	
for (DadosVO dadosVO2 : Dados) {
//	int i = 0 ;
//	DadosVO x = Dados.get(i);
	
     resultado1 = (  centroide1 - dadosVO2.getNumero() );
 resultadofinal1 =  Math.sqrt(resultado1);
	
	resultado2 = (   centroide2 - dadosVO2.getNumero() );
 resultadofinal2 =  Math.sqrt(resultado2);
//if inicio
if (resultadofinal1 > resultadofinal2){
	
	dadosvo.setNumero(resultadofinal2);
	rs2.add(dadosvo);
	
}else{
	dadosvo.setNumero(resultadofinal1);
	rs1.add(dadosvo);
		
}
	
//fim if

//i = i++; 

}

esta gerando essa saida

[list]conexao realizada
0.002463437499896637
3.5510546807302767
9.047149672230564
0.19171036691692955
5.348619596903784
3.6057367103301563
8.457409361894303
7.7557059854882
lista 1- NaN

lista 1- NaN

lista 1- NaN

lista 1- NaN

lista 1- NaN

lista 1- NaN

lista 1- NaN

lista 1- NaN

fim
[/list]

em fim eu nao estou conseguindo separar os números em 2 array list diferentes , e tbm nao consigo imprimir os 2 arrayslist q eu fiz ou imprime o arraylist RS1 ou o RS2 , espero q consigam me ajudar

2 Respostas

edu_fernandes

De onde vem o centroide1 e centroide2 ?

E onde você pede pra imprimir essas listas ?

Jordao_Bass

eles sao criados com math random , calculados apartir do maior numero existente no banco

Criado 23 de maio de 2012
Ultima resposta 24 de mai. de 2012
Respostas 2
Participantes 2