|
|
|
![]() |
|
Strumenti |
![]() |
#21 | |
Member
Iscritto dal: Aug 2010
Messaggi: 138
|
Quote:
![]() dove GeneraN credevo l'avessi capito è un metodo ricorsivo ed il suo caso base è appunto un numero che non sia 0 ( cioè 1 o -1). Comunque credo che la soluzione consigliata da WarDuck, sia migliore. Ultima modifica di Gin&&Tonic : 26-03-2011 alle 09:56. |
|
![]() |
![]() |
![]() |
#22 |
Member
Iscritto dal: Oct 2007
Messaggi: 185
|
ciao ragazzi ho realizzato una classe di test per provare la cosa ma non va bene per i valori estremi come i vettori 99999999 o 00000000, in pratica in output ci sono delle posizioni mancanti..
es: input 99999999 output 899 998 Mi potete dare una mano? Grazie Codice:
public class main { static String chromosome = "00000000"; public static void main (String args[]) { char[] char_chromosome = chromosome.toCharArray(); for (int i = 0; i < chromosome.length(); i++) { int selection = (int) Math.round(Math.random() * 10); if (char_chromosome[i] == 9) { if (selection < 5) { char_chromosome[i] = 8; } } else { if (char_chromosome[i] == 0) { if (selection > 5) { char_chromosome[i] = 1; } } else { if (selection < 4) { int minor = Integer.parseInt(Character .toString(char_chromosome[i])) - 1; char_chromosome[i] = Character.forDigit(minor, 10); } if (selection > 7) { int superior = Integer.parseInt(Character .toString(char_chromosome[i])) + 1; char_chromosome[i] = Character.forDigit(superior, 10); } } } } String new_chromosome = new String(char_chromosome); chromosome = new_chromosome; System.out.println(chromosome+" IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); } } |
![]() |
![]() |
![]() |
#23 |
Member
Iscritto dal: Jul 2004
Messaggi: 182
|
Perché stai usando un array di char, i char si indicano con le ' , ad es '1'.
|
![]() |
![]() |
![]() |
#24 |
Member
Iscritto dal: Oct 2007
Messaggi: 185
|
perchè mi trovo in un framework ad agenti, dove per scambiare info tra i vari agenti devo usare le stringhe, non posso passare interi
|
![]() |
![]() |
![]() |
#25 |
Member
Iscritto dal: Oct 2007
Messaggi: 185
|
comunque il codice sopra è direttamente eseguibile, basta creare una semplice classe...
Mi sapete dire perchè a volte funziona e altre no??? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:42.