- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy A52s 5G - jó S-tehetség
- Vivo X200 Pro - a kétszázát!
- Okosóra és okoskiegészítő topik
- Rég várt frissítést kap az Android tárcsázója
- Poco F8 Ultra – forrónaci
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Apple Watch
- Nagy bemutatóra készül az Oppo
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Ú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
-
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
Milyen szervert használsz ? Az alkalmazás szerverek általában tudnak autentikációt kezelni.
Ez ugyan geronimo de kiindulásnak jó lehet.
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
-
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...

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!

Ezek első ránézésre használhatónak tűnnek : [link]
-
btotyi
tag
-
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
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
int i = Integer.parseInt(Text);
(Vagy lásd a tiédet megelőző hszt.
)
[Szerkesztve] -
btotyi
tag
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?

Előre is köszi: AteszTermészetesen amivel elindítottad
vagy nem értem ???? -
btotyi
tag
-
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!
ThxMintha 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?
ThxKicsit 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
-
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)

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
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Arc Raiders
- Fejhallgató erősítő és DAC topik
- AMD vs. INTEL vs. NVIDIA
- Samsung kuponkunyeráló
- Először kombinálja a Full HD-t az 1000 Hz-cel egy monitor
- AMD Navi Radeon™ RX 9xxx sorozat
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy A52s 5G - jó S-tehetség
- Projektor topic
- Autós topik
- További aktív témák...
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- BESZÁMÍTÁS! Asus Prime X570 R7 5700 64GB DDR4 1TB SSD RTX 5060 Ti 16GB Zalman S2 TG FSP 650W
- BESZÁMÍTÁS! 8TB WD GOLD WD8004FRYZ HDD meghajtó garanciával hibátlan működéssel
- G.SKILL Trident Z5 RGB 48GB (2x24GB) DDR5 8000MHz F5-8000J4048F24GX2-TZ5RS Memória!
- ÚJ! SKY / Égkék MacBook Air M4 13" 16GB 256GB - 1év Garancia! TÖLTŐ, +AJÁNDÉK!!!
- Apple iPhone 6S Plus 32GB Rose Gold Karcmentes állapot 100% akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

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??





vagy nem értem ????


