• Здраво и добредојдовте на форумот на 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
 

Нови мислења

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

Статистика

Теми
42,629
Мислења
822,003
Членови
28,275
Најнов член
Лени333
На врв Дно