Hirdetés

Keresés

Új hozzászólás Aktív témák

  • btotyi
    tag

    Hi!

    Van egy olyan porbléma, hogy van egy jsf datatable, az megjelenít sok rekordot (azonosító név, cím stb). De címből több lehet, és ezt úgy kéne megjeleníteni, hogy akinek több címe van több sorban megjelenítődik, úgy hogy minden adat ugyan az, csak a cím más, és annyiszor ez, ahány címe van. Erre tud valaki valami megoldást?

    Egy kicsit zavaros amit írsz de ha azt szeretnéd, hogy egy névhez több cím íródjon ki akkor én úgy csinálnám hogy szétválasztánam a neveket és külön a hozzájuk tartozó címeket. A cím oszlopba (beágyazottan) pedig egy külön datatable-t tennék.

  • btotyi
    tag

    szeretnek irni egy programot, ami egy problemara tobb megoldast tud nyujtani (kulonbozo algoritmusok, amik ugyanazt a celt szolgaljak), es ezeket osszehasonlitani (futasi ido).
    ugy kepzeltem el, hogy lesz egy absztrakt osztalyom, amiben benne lesz az osszes funkcio amit hasznalni szeretnek. ezutan megirom a kulonbozo algoritmusokat (mind kulon osztalyban). itt jonne a kepbe egy tesztelo user interface, ahol lehetne valogatni az algoritmusok kozott, es kulon tesztelni oket (bemeno adatokat megadni, stb).
    egeszet ugy szeretnem megcsinalni, hogy barki irhasson ilyen algoritmust, es azt is lehessen tesztelni a programomban. vegulis ugy gondolnam, hogy pluginkent kezelne ezeket az osztalyokat, es tudna oket futtatni, listazni (mondjuk egy konyvtarbol). termeszetesen az osszes osztalynak az en absztrakt osztalyomtol kellene orokolnie a fuggvenyeket.
    kerdes az lenne, hogy hogyan tudok letrehozni egy fajlt, amit aztan hasznalhatok pluginkent, tehat oda tudom adni a programnak, o felismeri, hogy bizony azt csinalja amit kell, es meg tudja hivni a fuggvenyeit?
    (ha van ilyesmire standard eljaras eleg valami link leirasra, de hirtelen google nem segitett, nem igazan tudom mit kellene keresnem)

    Valami ilyesmi : [link]

  • btotyi
    tag

    Sziasztok!
    Egy külső csomagot szeretnék beimportálni,ezt a Sajátgép->Speciális rendszertulajdonságok->Környezeti változók meg is teszem,felhasználó és rendszerszintre is a CLASSPATH beállítását(Vista alatt). Így:SET CLASSPATH=.;C:\Program Files\Java\javalib (és ezen belül még egy könyvtár).
    A gond az,hogy ne mműködik,csak ha a konzolból is kiadom ezt a parancsot akkor jó.De azt szeretném,hogy ne kellje nmindig a konzolból kiadni.
    Az Eclipse-ben is szeretném használni,ezt hogy tudom elérni?

    Előre is köszönöm a segítséget!

    Project properties - Java build path - Libraries fül - Add library - User library - User libraries gomb - New - System library checkbox. Természetesen a hozzá tartozó jar file-okat add hozzá a library-hez.

  • btotyi
    tag

    Hello

    Java java:D tudom hogy itt a jáva programozásról van szo de nekem vagy egy ilyen java problémám telepiteni szeretném de ezt irja ki mi lehet a hiba oka??

    [Java]

    Üdv tacsk0

    Töltsd le és installáld offline módon

    Lásd itt

  • btotyi
    tag

    Hurrá működik! Most sem tudom hogy mitől, de működik. Az egyetlen picike hibája, hogy redirecttel még mindig bármit el lehet érni. Tehát van egy index.jsp-m, nem védett helyen redirectet csinál, simán betölti a a védett helyen lévő oldalt authentikáció nélkül. De ha közvetlenül linkelek rá, már azonosítást kér. Bár nem nagy probléma, az index helyét is levédem, de azért jobb lett volna máshogy.

    Tanulmányozd a redirect és a forward közötti különbséget.

  • btotyi
    tag

    jboss 4.2-t használok. Néztem már ezt a login-configos részt, de semmi használhatót nem találtam arról hogy mi ez a realm. Most a linkeden látom már kb mi lehet, de még mindig nem látom hol van beállítva, hogy ki mit érhet el.

    Lásd web.xml security-constraint részt.

    A példában az employee szerepkör (role) az employe/* url-t (url-pattern) a manager pedig a manager/* alatti területekhez jogosult hozzáférni.

    Egy példa JBoss-hoz: [link]

  • btotyi
    tag

    Közben, megtaláltam nézelődtem. Semmit sem értek belőle eddig, fogalmam sincs hogy fog ez webes felületen menni. Majd hétfőn megnézem jobban.

    Egyébként úgy értettem hogy honnan tudja, hogy sessionid-ket használ? Vagy mit?

    Milyen szervert használsz ? Az alkalmazás szerverek általában tudnak autentikációt kezelni.

    Ez ugyan geronimo de kiindulásnak jó lehet.

    [link]

    A lényeg az, hogy az index.jsp-d a védett területen (security-realm)-on kívül helyezkedik el és vagy linkkel vagy forward-al átírányít a védett területre. Erre a szerver bejelentkezteti a usert ha az ok továbbdobja a kívánt oldalra, ha nem akkor elutasítja. A védett területen belül vagy sütivel vagy url rewrite-al ellenőrzi, hogy az adott felhasználó már bejelentkezett-e ?

  • btotyi
    tag

    Jaja. :D

    Az autocommit az mikor történik meg? A kapcsolat lezárásakor? Vagy minden egyes lekérdezés után?

    Minden egyes lekérdezés/módosítás után.

  • btotyi
    tag

    Semmi különös okom nincs rá, csak a meglévő kódot minimálisan szerettem volna módosítani. Tranzakciót egyébként nem használok benne, szóval az insert eredménye az benne maradna a táblában (végül is ez csak amolyan demonstráció-progi, nem akarom túlvariálni, mert a lényeg nem ezen van, de még lehet, hogy beleteszem).

    Amúgy meg rájöttem (olvastam), hogy egy rs = psmt.executeQuery(), aztán if (rs.next()) is megteszi.

    1290-es közepe :)

    Tranzakciót pedig mindig használsz csak automatikusan hívja a java. (autocommit=true)

  • btotyi
    tag

    Köszi, ilyen szinten ismerem a settereket. Csak arra lettem volna kíváncsi, hogy mivel véd az SQL injection ellen, de ha így végiggondolom, akkor meg is van a válasz szerintem.

    A másikat akkor hogy lehet jól működővé tenni? Merthogy false-ot ad vissza, ha az első eredmény egy update count vagy ha nincs eredménye az SQL-nek.

    if (rs.getUpdateCount()) ?

    vagy:

    if (rs.getMoreResults()) ?

    Nem igazán értem mért akarod a visszatérési értéket kezelni. Ha az insert sikeresen lefut akkor úgyis a következő sorra (update) lép. Ha nem (pl kulcs megsértés vagy null érték not null-os mezőbe) kivétel keletkezik akkor pedig rollback így az insertben felvitt rekordo(ka)t eldobja.

    Ha szüksége van az insert utáni értékre pld. a kapott id-t tovább kell vinni, akkor vagy tárolt eljárás vagy generator/sequence használata javaslott, természetesen egy tranzakció belül.

  • btotyi
    tag

    Na megvan a gond. Idézőjelbe kell tenni a mezőneveket is, de oda már nem kell a user neve. Ez preparedStatement-re is igaz.

    Viszont újabb probléma lépett fel:

    PreparedStatement ps1 = conn.prepareStatement("INSERT INTO \"WHUSER\".\"Orders\" VALUES (?, ?, ?, ?, 0, 0, ?)");
    ps1.setString(1, articleID);
    ps1.setInt(2, quantity);
    ps1.setString(3, customerID);
    ps1.setLong(4, totalcost);
    ps1.setLong(5, trackID);

    if (ps1.execute()) {
    ...

    Megfogadván tanácsodat, alkalmaztam az előkészített lekérdezéseket (tényleg, miket csinálnak a háttérben a setterek?), de az if igaz ága valamiért nem fut le. Több ilyen lekérdezésnél is rendben van, de ennél az egynél valami nem tetszik neki. A furcsa viszont az, hogy az INSERT berakja a sort, tehát az execute()-nak nem kéne hamisat visszaadnia...
    Ez az if azért fontos, mert az INSERT sikerétől függően kell update-elni is. setLong()-gal BIGINT mezőket állítok be, a többi varchar és integer.

    Javítva:

    A ps1.execute csak akkor add vissza true-t ha az ELSŐ visszatérési objektum resultset. Mivel az insert nem azt ad vissza igy persze, hogy false.

  • btotyi
    tag

    Na megvan a gond. Idézőjelbe kell tenni a mezőneveket is, de oda már nem kell a user neve. Ez preparedStatement-re is igaz.

    Viszont újabb probléma lépett fel:

    PreparedStatement ps1 = conn.prepareStatement("INSERT INTO \"WHUSER\".\"Orders\" VALUES (?, ?, ?, ?, 0, 0, ?)");
    ps1.setString(1, articleID);
    ps1.setInt(2, quantity);
    ps1.setString(3, customerID);
    ps1.setLong(4, totalcost);
    ps1.setLong(5, trackID);

    if (ps1.execute()) {
    ...

    Megfogadván tanácsodat, alkalmaztam az előkészített lekérdezéseket (tényleg, miket csinálnak a háttérben a setterek?), de az if igaz ága valamiért nem fut le. Több ilyen lekérdezésnél is rendben van, de ennél az egynél valami nem tetszik neki. A furcsa viszont az, hogy az INSERT berakja a sort, tehát az execute()-nak nem kéne hamisat visszaadnia...
    Ez az if azért fontos, mert az INSERT sikerétől függően kell update-elni is. setLong()-gal BIGINT mezőket állítok be, a többi varchar és integer.

    A ps1.execute csak akkor add vissza true-t ha a visszatérési objektum resultset. Mivel az insert nem azt ad vissza igy persze, hogy false.

    Setterek: A preparedstatement leküldi az SQL-t a szervernek előkészítésre. Az lefordítja, felkészül. A setterek beállítják a paramétereket, az execute pedig végrehajtja. A korábban említett előnyök mellett nagy hasznát veheted kötegelt adattöltésnél. Ilyenkor query egyszer előkészít, sokszor végrehajt, nagyon gyorsan.

    Erre szolgál a tranzakció.

    try {
    // Disable auto commit
    connection.setAutoCommit(false);

    // Do SQL updates...

    // Commit updates
    connection.commit();
    } catch (SQLException e) {
    // Rollback update
    connection.rollback();
    }

  • btotyi
    tag

    Köszi mindenkinek. Végül ez lett a jó megoldás (ha érdekes valakinek):
    ResultSet rs = st.executeQuery("SELECT * FROM MUNKAK WHERE "+lek.getMezo()+" LIKE '%"+lek.getErtek()+"%'");
    affene gondolta, hogy mysql ' " " ' és %-t akar .
    Azért a prepared-et is kipróbálom majd.
    Még egy: cégnek mi volna ingyenes AB?

    Derby(JavaDB)/Cloudscape, FireBird, Oracle Express, vagy DB2 ExpressC vagy SAPDB(MAxDB) és természetesen a PostgreSQL

  • btotyi
    tag

    Sziasztok!

    NetBeans/Java adatbáziskezelésben otthon van valaki közületek? Az IDE-hez adott Derby-t használnám az egyszerűség kedvéért, de - alapvetően két okból kifolyólag - nem boldogulok vele.

    Egyszerű csatlakozás és lekérdezés/adatmódosítás lenne a programban, konkrétan redelések rögzítése (ill. egy limitellenőrzés is).

    A DBConnect kapcsolódik az adb-hez, a másik kettő metódus egy-egy webszolgáltatást valósít meg. Ami nem megy, és mindig kivételt dob, az a két következő fajta hívás:

    rs.first()
    rs.getInt() / ill. rs.getString()

    Valami nagyon nem stimmel nálam ezzel a ResultSet objektummal... :F

    A másik gondot az SQL-utasítások okozzák. Arra már rájöttem, hogy valami oknál fogva nem elég a táblanevet megadni, hanem minősíteni kell a user nevével, amire létrehoztam még az IDE-ben, és idézőjelek közé kell írni. Tehát pl. Stock helyett "WHUSER"."Stock". Ezt onnan szedtem, hogyha a Databases alatt nyomok a táblán egy View Data-t, akkor a NetBeans is ilyen formában adja meg.

    Viszont ettől még a SELECT * FROM ... jellegű lekérdezéseknél bonyolultabbak nem mennek, ott is reklamál, itt például:

    int rows2 = stmt.executeUpdate("UPDATE \"WHUSER\".\"Orders\" SET OrderedByCustomer=" + orderedByCustomer + " WHERE ArticleID='" + articleID + "'");

    ...ez a gondja: org.apache.derby.client.am.SqlException: 'OrderedByCustomer' is not a column in table or VTI 'WHUSER.Orders'.

    A táblanév az már jól van hivatkozva, de a mezőnév nem tetszik neki, és a táblához hasonló hivatkozással sem megy (WHUSER.Orders.OrderedByCustomer, persze idézőjelekkel).
    Nem tudom, milyen SQL-t használ ez a rendszer, de elég fura dolgai vannak.

    Hálás lennék, ha valaki tudna ebben segíteni!

    (MOD: ja, és még egy dolog. Azért jó lenne, ha valami rs.next() jellegű lépegetést is meg tudnék oldani, mert egy JSP-ben meg az árucikkeket szereném kiválaszthatóvá tenni egy legördülő listával.)

    Idemásolom a kódot, vannak kommentek is. ;)

    package com.sun.customerorderhandler;

    import javax.ejb.Stateless;
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;

    import java.sql.*;
    import javax.xml.ws.WebServiceRef;


    @Stateless()
    @WebService()
    public class CustomerOrderHandler {

    @WebServiceRef(wsdlLocation = "http://localhost:8080/AmountPriceQueryService/AmountPriceQuery?wsdl")
    private com.sun.customerorderhandler.AmountPriceQueryService service;

    static long CUSTOMERLIMIT = 60000;

    public Connection DBConnect() throws java.sql.SQLException {

    return DriverManager.getConnection("jdbc:derby://localhost:1527/FurnitureWarehouse","whuser","whpass");

    }

    /**
    * Web service operation
    */
    @WebMethod
    public long checkCustomerLimit(@WebParam(name = "customerID") String customerID, @WebParam(name = "totalCost") long totalCost) {
    // TODO implement operation

    Connection conn;

    try {

    conn = DBConnect();

    Statement stmt = conn.createStatement();

    ResultSet rs = stmt.executeQuery("SELECT SUM(TotalCost) FROM Orders WHERE CustomerID=" + customerID + " AND Paid=0");

    rs.first();

    long owsTotal = rs.getInt(1); // egyetlen oszlop van

    conn.close();

    return (owsTotal + totalCost) - CUSTOMERLIMIT; // ha a limit fole megy, pozitiv lesz

    }
    catch (Exception e) {

    return 9999999; // mintha a limit fole ment volna

    }

    }

    /**
    * Web service operation
    */
    @WebMethod
    public long placeOrder(@WebParam(name = "articleID") String articleID, @WebParam(name = "quantity") int quantity, @WebParam(name = "customerID") String customerID) {
    // TODO implement operation

    Connection conn;

    try {

    conn = DBConnect();

    Statement stmt = conn.createStatement();

    ResultSet rs = stmt.executeQuery("SELECT * FROM Stock WHERE ArticleID=" + articleID);

    rs.first();

    int price = rs.getInt("Price");
    int orderedByCustomer = rs.getInt("OrderedByCustomer");

    long totalCost = quantity * price; // a rendeles teljes ara

    orderedByCustomer++; // vevok altal rendelt, kiszallitatlan mennyiseg

    long trackID = Math.round(Math.random()*1000000000); // 10.000.000

    int rows1 = stmt.executeUpdate("INSERT INTO Orders VALUES ('" + articleID + "', " + quantity + ", '" + customerID + "', " + totalCost + ", 0, 0, " + trackID + ")");

    int rows2 = stmt.executeUpdate("UPDATE Orders SET OrderedByCustomer=" + orderedByCustomer + " WHERE ArticleID='" + articleID + "')");

    conn.close();

    if (rows1 == 0) return 0; // ha nem tudta rogziteni a rendelest

    return trackID; // egyebkent a nyomonkovetesi azonosito visszaadasa

    }

    catch (Exception e) {

    return 0; // ha sikertelen volt a muvelet

    }

    }

    }

    A getInt-nél mi a kivétel:

    Én így szoktam

    ResultSet ers = plm.executeQuery();
    while (ers.next()) {
    V_Elem lm = new V_Elem();
    lm.setId(ers.getLong("ID"));

    }

    Egy elemnél pedig simán

    if (rs.next()) {

    }

    Használd a SET SCHEMA=WHUSER utasítást. Vagy tedd az adataidat az APP sémába (Az a Derby alapértelmezett sémája).

    A Insert/Update queryknél használj parametrizált queryt. Átláthatóbb, véd az SQL injekcion ellen.

    pld.

    PreparedStatement ps = conn.prepareStatement("update akarmi set nev=? where id=?");

    ps.setString(1,"Az új név");
    ps.setLong(2, 12); // az adott ID

    ps.execute();

  • btotyi
    tag

    Sziasztok!

    Problémába ütköztem, és gondoltam megpróbálom a PH-t, ha már a google nem hozott szerencsét. A lényeg, hogy idén felvettem a bevezetés a számítógépes grafikába című tantárgyat, aminek nagyjából a lényege, hogy bizonyos alapeszközökkel (van egy panelünk, arra tudunk kirajzolni egy pontot, 1 szakaszt, 1 kört, valamint ezeket tudjuk szinezni és kitölteni) fogunk majd leprogramozni szakaszrajzoló algoritmusokat, meg vágásokat, meg 3d hatású alakzatokat, etc.

    C-ben tudom hogy kellene megcsinálni (erre konkrétan van leírás, plusz egy pár soros pédakód, ami nem csinál mást, mint létrehoz egy panelt, kirajzol egy pontot, és kirajzol egy kört), viszont én Javaban szeretném. Keresgéltem google-ban, megnéztem az idevágó Java dokumentációt is, de az istenért sem akar sikerülni. Azt szeretném kérni / kérdezni tőletek, hogy tudnátok mondani olyan oldalt, ahol 1 ilyen egyszerűen pont ennyit tudó (létrehoz egy panelt, kirajzol egy pontot, és kirajzol egy kört) kis példaprogram van leírva, vagy tudnátok nekem leírni egy pont ennyit tudó fordítható programot? Amiket találtam Google-n, abban mind voltak egérkezelés, meg egyéb plusz dolgok, amikhez szintén nem értek, és biztos egyszerűek azok a programok is, de a plusz dolgok csak jobban bezavarnak.

    Úgy érzem, ha egy ilyen egyszerűen futó program forrásának birtokában lennék, már könnyedén át tudnám alakítani a dolgokat, illetve tudnék rajta gyakorolni bonyolultabb dolgokat is.

    Remélem érthetően írtam le, de ha nem, akkor megpróbálom összefoglalni a kérést: Tudnátok adni egy URL-t, vagy be tudnátok másolni egy leforduló/futó programnak a kódját (vagy feltenni valahova a forrást), ami annyit csinál, hogy egy panelre (lehet hogy nem ez a jó szó) kirajzol 1 db pontot és 1 darab szakasz és 1 darab kört? Csak ennyit tudjon, semmi többet, viszont ezt main metódussal együtt, stb.

    Előre is köszönöm! :B

    Ezek első ránézésre használhatónak tűnnek : [link]

  • btotyi
    tag

    Ha jobban megnézed a példát az elején egyszerűen létrehoz egy Thread leszármazottat Szal néven. A thread nek van egy start, stop, terminate és ami neked fontos egy run metódusa. Ebben aztán azt valósítasz meg ami neked tetszik. Persze erőforrásokhoz való hozzáféréskor észnél kell lenni mert könnyű deadlock-ot előidézni, de ha csak számolgatod a páros/páratlan számokat akkor nincs baj. Tehát csinálhatsz két(n) thread leszármazottat és a run metódusukban elvégzed a kívánt feladatot. Persze futtatáshoz a megfelelő típusút kell létrehozni.

    [Szerkesztve]

  • btotyi
    tag

    Sziasztok!

    [link]

    Alatt található egy feladat megoldása. Érdekelne, hogy az Interface-t, mint visszatéréi értéket meghívva, hogyan is alakul a dolog?

    ezek a div és mul függvényeknél fordulnak elő. Légyszi magyarázzátok el, hogy itt most valójában mi is történik! Nagyon szépen köszi! :R

    Sianis

    Egyszerűen semmi különös.A példában simán visszakapsz egy Complex osztályt. Igazából egy Complex osztályt pontosabban egy IComplex interfészt implementáló osztályt. Ha Complex típusú lenne a változó akkor csak Complex típusú példányt adhatnál át, IComplex-ként viszont bármilyen olyan osztályt ami implementálja az IComplex interfészt. Ennek fényében a második fele a kérdésednek egyértelmű.

    Egy kis magyarázat :[link]

  • btotyi
    tag

    Például így :


    package test;

    class Szal extends java.lang.Thread {
    volatile static boolean Stop = false;

    // Primordial thread executes main()
    public static void main(String args[]) throws InterruptedException {

    // Create and start 2 threads
    Szal thread1 = new Szal();
    thread1.setPriority(1); // 1st thread at 1th non-RT priority
    Szal thread2 = new Szal();
    thread2.setPriority(1); // 2nd thread at 1th non-RT priority
    thread1.start(); // start 1st thread to execute run()
    thread2.start(); // start 2nd thread to execute run()

    // Sleep for 10 seconds, then tell the threads to terminate
    Thread.sleep(10 * 1000);
    Stop = true;
    }

    public void run() { // Created threads execute this method
    System.out.println(''Created thread'');
    int count = 0;
    for (; Stop != true;) { // continue until asked to stop
    count++;
    Thread.yield(); // yield to other thread
    }
    System.out.println(''Thread terminates. Loop count is '' + count);
    }
    }


    forrás:[link]

  • btotyi
    tag

    Sziasztok!

    Egy adatbáziseléréssel rendelkező progi grafikus felületén kellene számot kinyernem a JTextField típusú mezőből. Hogy tudnám megvalósítani?
    Most BufferedReader típusú változóba olvastam be a mezőből Text-et (getText metódussal), hogy tudom cast-olni int-re??

    Üdv.

    int i = Integer.parseInt(Text);

    (Vagy lásd a tiédet megelőző hszt. :) )

    [Szerkesztve]

  • btotyi
    tag

    Sziasztok! Gondoltam megpróbálom mégegyszer hátha valaki tud segíteni. Szóval JAVA programozásban kéne segítség, nem nagy dolog lenne, csak én nem igazán vágom. Elég sürgős lenne, természetesen nem ingyen kérném :R Köszi előre is

    Szerintem írd ide a problémát (ha publikus) , utána majd kiderül érdekel-e valakit.

  • btotyi
    tag

    Na ezt megoldottam, a kövi kérdésem az lenne (lesz még pár, most tanulgatom :) ) hogy hogy lehet megoldani azt, hogy a program újrakezdje magát? Magyarul a végére tettem egy olyan ''switch'' parancsot, ami ''N'' lenyomására újraindulna, egyéb esetben kilépne. De milyen parancsal indítom újra a progit? :U :B

    Előre is köszi: Atesz

    Természetesen amivel elindítottad :)) vagy nem értem ????

  • btotyi
    tag

    Meg ha vki válaszol, megmondhatná, hogy lehet (lehet-e egyáltalán) ezt teló nyelvére lefordítani :)

    A JBuilderben elvileg van native builder. Azon a tájékon nézz szét. A második kérdésnél ha arra gondoltál, hogy a programot telefon szeretnéd futtatni az ilyen módon nem megy.

  • btotyi
    tag

    Ezzel már megvok...
    Most az a baj,h ha tömböt csinálok vmiért nem jól iratja ki az index szerint a cuccokat...
    Pedig a bekérés jó...Most vektorral próbálkozok,de azt nem ismerem még és nem megy...
    Itt egy kódrészlet,remélem tudna segíteni vki...

    <%@ page language=''java'' contentType=''text/html'' %>
    <%@ page import=''java.util.Vector''%>
    .
    .
    <form method=''post''>
    <input type=''text'' name=''kezd''>-tol<br>
    <input type=''text'' name=''veg''>-ig<br>
    <input type=''submit'' value=''submit'' name=''submit''>
    </form>
    .
    .
    Vector primek = new Vector(int);

    if (request.getParameter(''submit'') != null ) {

    for (n = 0; s < 100; n++) {
    nemprim = false;
    for (m = 2;m<(n - 1); m++ ) {
    if ( (n % m) == 0) {
    nemprim = true;
    break;
    }
    }
    if ( nemprim == true ) {
    continue;
    } else {
    primek(j) = n;
    j++;
    s++;
    }
    }
    }

    String ks = request.getParameter(''kezd'');
    String vs = request.getParameter(''veg'');

    if (ks != null && vs != null) {
    int k = Integer.parseInt(ks);
    int v = Integer.parseInt(vs);

    for ( i = primek(k); i < primek(v); i++) {
    out.println (primek(i) + ''. primszam'' + ''<br>'');

    }
    }

    %>

    Ezzel viszont hibát ír ki...Mert nem vágom,h hogyan néz ki norm vektoros deklaráció/használat stb...Ha tömbbel csináltam azzal meg gázba volt!
    Thx

    Mintha egy kicsit kapkodnál :)

    A tömbös megoldásnál foglalsz helyet a tömbnek ? Ráadásul mindig a 100 elem helyére akarsz írni.

    A Vector objektumokat tud index szerint tárolni .

    Erősen ajánlott a help és valami alapszintű java könyv olvasgatása.

    Az első példa tömbt tölt, a második egy vectort tölt/listáz ki.


    int[] tomb = new int[100];
    for (int i = 0; i < 10; i++) {
    tomb[i] = i * 2;
    }

    Vector v = new Vector(100);
    for (int i = 0; i < 10; i++) {
    v.add(i, new Integer(i * 2));
    }

    for (int i = 0; i < 10; i++) {
    System.out.println(v.get(i));
    }





    [Szerkesztve]

  • btotyi
    tag

    Adott egy jsp progi,ami a két formból érkező számot átveszi paraméterként és az alapján kéne kiíratnia a prim számokat...Tehát ha 10.- 20. írom be, akkor a 10. től a 20.ig kiírja a primeket!
    ---------------------------------
    <%@ page language=''java'' contentType=''text/html'' %>

    <%!
    int i,j,k,v;
    boolean nemprim;
    %>

    <html>
    <head>
    <title>Primszam generalas parameteratadassal</title>
    </head>
    <body bgcolor=''white''>
    <center>
    <font color=''red''>
    <h1><u>Primszam generalas</u></h1>
    </font>
    </center>

    <form action=''prim3.jsp''>
    <input type=''hidden'' name=''action'' value=''elkuld''>
    <input type=''text'' name=''kezdet''>-tol/tol<br>
    <input type=''text'' name=''veg''>-ig<br>
    <input type=''submit'' value=''elkuld''>
    </form>

    <%

    //System.err.println(''gyak.prim3.jsp {'');

    int k = Integer.parseInt(request.getParameter(''kezdet''));
    int v = Integer.parseInt(request.getParameter(''veg''));

    for ( k = k ; k < v ; i++) {
    nemprim = false;
    for (j = 2;j<(i - 1); j++ ) {
    if ( (i % j) == 0) {
    nemprim = true;
    break;
    }
    }
    if ( nemprim == true ) {
    continue;
    } else {
    out.println (i + ''. primszam'' + ''<br>'');
    }
    }

    //System.err.println(''gyak.prim3.jsp }'');
    %>

    </body>
    </html>

    ------------------------
    Ezt a hidden formos dolgot nem igazán értem...Mi lehet vele a baj?
    Thx

    Kicsit fáradt vagyok, hogy jobban átnézzem. Lehetne optimálisabb és szebb kódot írni de most csak ennyire futja. Helyenként kicsit elbonyolítod a dolgot. Boolean értéket nem vizsgálunk true vagy false értékre mert önmagában kiértékelhető. A bemeneti értékek ellnőrzése szükséges mert első lefutáskor nem tartalmaz a kérés paramétert.


    <%@ page language=''java'' pageEncoding=''ISO-8859-1''%>
    <!DOCTYPE HTML PUBLIC ''-//W3C//DTD HTML 4.01 Transitional//EN''>
    <html>
    <head>
    <title>My JSP 'prim3.jsp' starting page</title>
    </head>
    <body bgcolor=''white''>
    <h1>
    Prímszám generálás
    </h1>
    <form action=''prim3.jsp'' method=''post''>
    <input type=''text'' name=''kezdet''>
    -tól
    <br>
    <input type=''text'' name=''veg''>
    -ig
    <br>
    <input type=''submit'' value=''elkuld''>
    </form>
    <hr>
    <%
    String ks = request.getParameter(''kezdet'');
    String vs = request.getParameter(''veg'');
    if (ks != null && vs != null) {
    int k = Integer.parseInt(ks);
    int v = Integer.parseInt(vs);

    for (int i = k; i < v; i++) {
    boolean nemprim = false;
    for (int j = 2; j < (i - 1); j++) {
    if ((i % j) == 0) {
    nemprim = true;
    break;
    }
    }
    if (!nemprim) {
    out.println(i + ''. primszam'' + ''<br>'');
    }
    }
    }
    %>
    </body>
    </html>


    [Szerkesztve]

  • btotyi
    tag

    Már megy a dolog...
    Két db } volt rossz helyen... : :DDD
    Bár van egy kérdésem; az out.println-re nem tör sort...
    Ezt hogyan tudom megoldani!? :U
    Thx

    println(akarmi_amit _ki_akarsz_iratni + ''<br>'');

  • btotyi
    tag

    De továbbra is maradtak bennem kérdések. Még mindig nem tudom, hogy lehetne megoldani a toplistát. Hogy lehet java applettel fájlokat kezelni. Álítólag ez le van tiltva... tud valaki bármilyen megoldást fájlkezelésre. Van milyen mekerülési lehetőségek vannak (pl tud-e egy applet egy java sriptel vagy php scriptel komunikálni, mertakor már tudnak fájlkat is kezelni) :F

    Ha jól tudom csak csak signed aplettel lehet mert biztonsági okból van tiltva. Viszont hálózati kapcsolatot létrehozhatsz így egy távoli szerveren tárolhatod a toplista eredményét pld egy adatbázisban

Új hozzászólás Aktív témák

Hirdetés