Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc u vezi random

[es] :: Java :: Pomoc u vezi random

[ Pregleda: 2277 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

damson74
BGD

Član broj: 102210
Poruke: 45
*.aDSL.Verat.Net.



+2 Profil

icon Pomoc u vezi random09.09.2012. u 21:33 - pre 140 meseci
Pozdrav,

Molim za pomoc :-)
Potrebno mi je da generisem random 13 karaktera od kojih ce prvi biti uppercase, i decimalni broj od 1-5.

Hvala
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.ga.at.cox.net.



+64 Profil

icon Re: Pomoc u vezi random10.09.2012. u 01:32 - pre 140 meseci
evo ti metoda za dobijanje random string-a. Kreni odavde.
pokusaj sam pa se javi.

(ovo je groovy src)

Code:


def static String getRandomCode(int codeLength) {
        String validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz"

        int maxIndex = validChars.length()
        String code = ""

        Random rnd = new Random(System.currentTimeMillis() * (new Random().nextInt()))

        for (i in 0..codeLength) {
            int rndPos = Math.abs(rnd.nextInt() % maxIndex);
            code += validChars.charAt(rndPos)
        }

        return code

    }

 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Pomoc u vezi random10.09.2012. u 01:33 - pre 140 meseci
Code:

    public static String GetRandom() {
        Random r = new Random();
        StringBuffer buffer = new StringBuffer();
        // first upper case
        char first = (char)('A' + r.nextInt('Z' - 'A'));
        buffer.append(first);
        
        // 11 random chars
        for (int i = 0; i < 11; i++) {
            buffer.append((char)('!' + r.nextInt('~' - '!')));
            
            /*if (r.nextBoolean()) {
                buffer.append((char)('a' + r.nextInt('z'-'a')));
            }
            else {
                buffer.append((char)('A' + r.nextInt('Z'-'A')));
            }*/
        }
        
        
        
        // last digit
        buffer.append((char)('1' + r.nextInt('6' - '1')));
        return buffer.toString();
    }


Otkucah ti ovo na brzinu. Ovo ti daje string od 13 karaktera sa prvim velikim slovom i poslednjom cifrom između 1 i 5 (inclusive). Karakteri između mogu biti bilo koji vidljivi karakteri iz ascii tabele. Ako ti trebaju samo slova skloni prvu liniju u for petlji i otkometariši ostatak petlje.

Ovaj kod generiše ovakve stringove:
Code:

IE.1kinAnqmX1
CPI<gi8X&LR"2
PShz0ns&(rIQ2
A'=$w^Q^Hnu%1
AX@zlm5k7Ga25
N3Q%6GX0yo^e5
Wg+(#(_"?.n;4
Lj>tTE&@3r@82
WghU9N;dhwyU3
E[(v\OXpv`D03


Ako zameniš kod sa onim zakomentarisanim u for petlji dobićeš ovakve stringove:
Code:

TYGDKlQoBNVf4
MSfQSptpbHmg3
YQggUIcLHmKI3
CfBvMakGEEXx4
PctECwaXGDsl1
JAVYEiombVVN1
VjRghYRnGiUQ3
FuFnyjjpKGnR4
KOYiCSyYxoOt5
FXKVAQbuYHlf3
 
Odgovor na temu

damson74
BGD

Član broj: 102210
Poruke: 45
*.aDSL.Verat.Net.



+2 Profil

icon Re: Pomoc u vezi random10.09.2012. u 23:45 - pre 140 meseci
Mozda sam iskomplikovao pitanje, jer nikako ne dobijam prvo veliko, a i kako da definisem bas decimalne random brojeve. Zato evo kompletnog pitanja pa me samo usmerite. Mucim se vec nekoliko dana a ovo je 8-mo od 15 :-)
Napraviti klasu Učenik koja ima od podataka Ime, Prezime i prosečnu ocenu. Zatim napraviti pomoćnu klasu koja ima metodu koja vraća reč od 13 random slova pri čemu je prvo slovo veliko a ostala su mala, i metodu koja vraća slučajni decimalni broj u intervalu od 1 do 5. U Main klasi kreirati dve instance klase Učenik i svaku od njih napuniti random podacima koristeći pomoćnu klasu. Prikazati rezultat rada.
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
..106.109.adsl.dyn.beotel.net.

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Pomoc u vezi random11.09.2012. u 00:53 - pre 140 meseci
Zapravo, ti želiš dve metode?
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Pomoc u vezi random11.09.2012. u 00:57 - pre 140 meseci
Ako pogledas nase odgovore, mozes lako resiti ovaj zadatak. Nemoj da trazis
samo gotovo resenje.

Nn
 
Odgovor na temu

damson74
BGD

Član broj: 102210
Poruke: 45
*.aDSL.Verat.Net.



+2 Profil

icon Re: Pomoc u vezi random11.09.2012. u 09:54 - pre 140 meseci
ok, evo resenja, samo jos decimalu da sredim na random broju

klasa Ucenik:

package newpackage;


public class Ucenik {
private String ime;
private String prezime;
private double prosecna_ocena;

/**
* Prazan konstruktor
*/
public Ucenik() {
}

/**
* Konstruktor koji prima atribute klase
* @param ime
* @param prezime
* @param prosecna_ocena
*/
public Ucenik(String ime, String prezime, double prosecna_ocena) {
this.ime = ime;
this.prezime = prezime;
this.prosecna_ocena = prosecna_ocena;
}

/**
* Kopi konstruktor
* @param p
*/
public Ucenik(Ucenik p){
this.ime = p.getIme();
this.prezime = p.getPrezime();
this.prosecna_ocena = p.getProsecna_ocena();
}

/**
* @return the ime
*/
public String getIme() {
return ime;
}

/**
* @param ime the ime to set
*/
public void setIme(String ime) {
this.ime = ime;
}

/**
* @return the prezime
*/
public String getPrezime() {
return prezime;
}

/**
* @param prezime the prezime to set
*/
public void setPrezime(String prezime) {
this.prezime = prezime;
}

/**
* @return the prosecna_ocena
*/
public double getProsecna_ocena() {
return prosecna_ocena;
}

/**
* @param prosecna_ocena the prosecna_ocena to set
*/
public void setProsecna_ocena(double prosecna_ocena) {
this.prosecna_ocena = prosecna_ocena;
}

/**
* Tekstualna prezentacija instance klase
* @return tekstualni opis instance klase
*/
@Override
public String toString(){
return ime + " " + prezime + " Prosecna ocena: " + prosecna_ocena;
}

}

klasa Pomocna:


package newpackage;
import java.util.Random;
public class Pomocna {


/**
* Privatni konstruktor
* Ova klasa nikad neće biti instancirana pošto ima samo static metode
*/
public Pomocna() {
}

/**
* Metoda koja kreira slučajnu reč od brSlova slova
* tako da ima prvo slovo veliko i brSlova-1 malih slova
*
* @param brSlova
* @return slučajna reč
*/
public static String slučajnaReč(int brSlova){
Random r = new Random();
String reč = "";
reč += (char) ('A' + r.nextInt(26));
for(int i=0; i<brSlova-1; i++)
reč += (char) ('a' + r.nextInt(26));
return reč;
}
/**
* Metoda koja vraća broj u intervalu od a do b
* @param a jedna granica intervala
* @param b druga granica intervala
* @return slučajni boroj iz zadatog intervala
*/
public static int slučajniBrojInterval(int a, int b){
Random r = new Random();
int random = b>a?(a + r.nextInt(b-a)):(b + r.nextInt(a-b));
return random;
}
}

klasa Main:


package newpackage;
public class Main {
/**
* Prazan konstruktor
*/
public Main() {

Ucenik druga = new Ucenik();
druga.setIme(Pomocna.slučajnaReč(13));
druga.setPrezime(Pomocna.slučajnaReč(13));
druga.setProsecna_ocena(Pomocna.slučajniBrojInterval(0,5));
System.out.println(druga);
}


/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Main();
// TODO code application logic here
}
}
 
Odgovor na temu

damson74
BGD

Član broj: 102210
Poruke: 45
*.aDSL.Verat.Net.



+2 Profil

icon Re: Pomoc u vezi random11.09.2012. u 10:31 - pre 140 meseci
Evo i decimalnog dela, prepravka na double u klasi Pomocna


public static double slučajniBrojInterval(double a, double b){
Random r = new Random();
double random = b>a?(a + r.nextDouble()):(b + r.nextDouble());
return random;
}


 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Pomoc u vezi random11.09.2012. u 10:54 - pre 140 meseci
Daj malo razmišljaj pre nego što počneš da kodiraš!

Prvo, metoda nextDouble daje pseudoslučajni decimalni broj u opsegu od 0.0 do 1.0, pa nikako nećeš na gornji način dobiti opseg od 1.0 do 5.0
Drugo, ako znaš, na primer, da dobiješ slučajni integer u nekom opsegu, trebalo bi da znači da znaš da dobiješ i u nekum drugom opsegu. Recimo u opsegu od 100 do 500. Kapiraš? Samo podeliš slučajni int u opsegu 100-500 sa 100.00 i dobio si šta si hteo, umesto da komplikuješ sa metodom koju ne poznaješ.
Treće: pogledaj ovo

double random = a+(b-a)*r.nextDouble();

Da li se dobija ispravan opseg? Da li je uoopšte potrebno petljanje sa trinarnim operatorom "?:", ili može i bez njega da se dobije rezultat?

Savet, nauči da razmišljaš, teži ka jednostavnim rešenjima. Sedni sa što boljom idejom kako da rešiš zadatak, pre nego što otkucaš makar jednu liniju koda.
 
Odgovor na temu

damson74
BGD

Član broj: 102210
Poruke: 45
*.aDSL.Verat.Net.



+2 Profil

icon Re: Pomoc u vezi random11.09.2012. u 15:12 - pre 140 meseci
Izvini ali nisam imao vremena da razmisljam. "Kodiranjem" se bavim nepuna 4 dana, hitno mi je trebao odgovor na postavljeno pitanje. Zato sam i postavio pitanje da bih dobio neki odgovor ili bar smernicu. Ono do cega sam dosao sam postavio da bi neko drugi imao koristi od toga, jer ovakvo pitanje ne postoji na forumu. U narednom periodu cu se truditi da sto vise vremena provedem uceci programiranje u Javi, pa cu verovatno posle nekog vremena moci i da razmislim sta bih sve mogao da uradim po pitanju nekog problema.
Hvala za savet, izvini ako opet nesto lupim, jer planiram jos da ucim po pitanju OOP uopste.
Pozdrav
 
Odgovor na temu

IcemanX
System administrator/Test automation
engineer
Betware doo
Beograd

Član broj: 253997
Poruke: 155
87.116.162.*



+2 Profil

icon Re: Pomoc u vezi random11.09.2012. u 17:12 - pre 140 meseci
Kada sam video postavku zadatka setih se odmah da sam imao ovakav slican zadatak u prvoj godini faxa..Moguce da je i ovaj zadatak sa predmeta CS111 kod Opacica ..Ali nbt evo ti u attachementu slicna stvar pa se snadji ;)
alea iacta est
Prikačeni fajlovi
 
Odgovor na temu

damson74
BGD

Član broj: 102210
Poruke: 45
*.aDSL.Verat.Net.



+2 Profil

icon Re: Pomoc u vezi random11.09.2012. u 19:38 - pre 140 meseci
Jeste, hvala. JA sam bolid koji je na master studijama izabralo CS111 kao izborni, sam Mateja mi rece "sta ti je to trebalo" :-), a ja mislio kao da se nateram da naucim oop :-)
Mozes da zamislis sistemasa koji ne razmislja dalje od skripte(5-10min) unapred, u oop i modeliranju :-) HAOS
Nadam se da cu ga spremiti za novembar, koji ce verovatno biti u oktobru jer je sad oktobarI :-)
Pozz
 
Odgovor na temu

IcemanX
System administrator/Test automation
engineer
Betware doo
Beograd

Član broj: 253997
Poruke: 155
87.116.162.*



+2 Profil

icon Re: Pomoc u vezi random11.09.2012. u 22:29 - pre 140 meseci
Od Mateje mozes da naucis dosta ako te zanima OOP i Java..samo mora da sednes i vezbas..ni ja nisam Bog zna sta,vise se igram s Linuxom i ostalim stvarima ..Ali evo uzeo sam knjigu za Javu od 1000 strana i kad fino predjem sve znacu samo osnove i 5 % od Jave ..Iskustvo i vezba stalna donose znanje
alea iacta est
 
Odgovor na temu

[es] :: Java :: Pomoc u vezi random

[ Pregleda: 2277 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.