• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

Рандомизирање зборови

  • Ја почнал/а темата vik
  • Време на почнување
  • Ја почнал/а темата
  • #1

vik

Intern
14 април 2007
1,936
31
Па вака, ме заинтригира играта од stefan_sonce за добивање на зборови со измешани букви. Па се позанимавав малце и еве што добив.
Код:
import java.util.*;

public class RandomizeWords {
    private String newWord = "";
    private ArrayList<Integer> tmp = new ArrayList<Integer>();

    private String Randomize(String word) {
        double a = 0;
        int i = 0;
        a = Math.random() * word.length();
        i = (int) a;
        if (i <= word.length() - 1 & !tmp.contains(i)) {
            newWord = newWord + word.charAt(i);
            tmp.add(i);
        }
        return newWord;
    }

    public static void main(String[] args) {
        RandomizeWords rand = new RandomizeWords();
        //zborot koj sakas da go izmesas
        String word = "Viktor";
        while (rand.Randomize(word).length() <= word.length() - 1) {
            rand.Randomize(word);
        }

        System.out.println(rand.Randomize(word));
    }

}
Се надевам дека ви се допаѓа:D
btw Ова работи на зборови до 10 букви, треба да си поиграм за да работи со поголеми(подоцна):)
 

dime

Intern
13 мај 2008
163
3
Ok, ne e loso (za pocetnik pretpostavuvam :) ) Mozes da smenes:
a = Math.random() * 10;
vo
a = Math.random() * word.length();
I mala sugestija - metodite (Randomize) zapocnuvaat so mala bukva.
 
  • Ја почнал/а темата
  • #4

vik

Intern
14 април 2007
1,936
31
Фала за прадлогот.
И по што позна дека сум почетник?:p
 
  • Ја почнал/а темата
  • #6

vik

Intern
14 април 2007
1,936
31
И со тоа се решава и проблемот за големината на зборот.

Едитирано!
 

dime

Intern
13 мај 2008
163
3
И по што позна дека сум почетник?:p
Pa se poznava, od 100km :) Ali vezbaj, na prav pat si ;)
Eve jas sto napisav:


Код:
public class WordRandomizer {
    
    private String randomize(String word) {
        char[] c = word.toCharArray();
        char tmp;
        int index;
        for (int i = 0; i < c.length; i++) {
            index = (int) (Math.random() * (c.length - 1));
            tmp = c[i]; c[i] = c[index]; c[index] = tmp;
        }
        return new String(c);
    }

    public static void main(String[] args) {
        WordRandomizer r = new WordRandomizer();
        System.out.println(r.randomize("hello world"));
    }
}
 

Megatron

Intern
18 април 2007
146
4
na dime odgovorot odnosno resenieto e to so ti treba :)) istiot nacin moze da se iskoristi za generirawe na broevi bez povtoruvawe na cifri
 

Нови мислења

Последни Теми

Статистика

Теми
43,565
Мислења
823,421
Членови
28,069
Најнов член
Na$sko
На врв Дно