- Világító alma helyett világító tok és szíj az almákra
- Redmi Note 12 4G - valaki fizetni fog
- MIUI / HyperOS topik
- Android alkalmazások - szoftver kibeszélő topik
- MG4 menetpróba
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Vodafone mobilszolgáltatások
- Yettel topik
- Honor Magic5 Pro - kamerák bűvöletében
- Honor Magic6 Pro - kör közepén számok
Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
A személyre szabott reklám lehet a streaming következő slágere
it A jobb célzott hirdetések érdekében adatplatformot indít a Warner Bros Discovery.
-
Érkezőben a Poco M6 4G
ma 5G-s és 4G-s Pro modell már van, hamarosan lesz Poco M6 4G-s alapváltozat is.
Új hozzászólás Aktív témák
-
caindwan
tag
Heló!
Igazából még csak nemrég kezdtem az egészet. Egy ebookból tanulok és ott nem magyarázták meg a dolgot. Szóval van egy ilyen pl.:
public class AClass {
public int instanceInteger = 0;
public int instanceMethod() {
return instanceInteger;
}
public static int classInteger = 0;
public static int classMethod() {
return classInteger;
}
public static void main(String[] args) {
AClass anInstance = new AClass();
AClass anotherInstance = new Aclass();
anInstance.instanceInteger = 1;
anotherInstance.instanceInteger = 2;
System.out.println(anInstance.instanceMethod());
System.out.println(
anotherInstance.instanceMethod());
//System.out.println(instanceMethod()); //illegal
//System.out.println(instanceInteger); //illegal
AClass.classInteger = 7;
System.out.println(classMethod());
System.out.println(anInstance.classMethod());
anInstance.classInteger = 9;
System.out.println(anInstance.classMethod());
System.out.println(anotherInstance.classMethod());
}
}
Na ebben vannak olyanok a metódusban pl/anInstance.instanceInteger = 1;/ A kérdésem mit jelent az a pont? -
caindwan
tag
Köszönöm
-
TBG
senior tag
Szia!
Van egyszerű, ronda és bonyolultabb, szebb megoldás.
1. Egyszerű, ronda.
Az AppPanel osztályt átadod a *Form-oknak konstruktorban.2. Bonyolultabb, szebb
Csinálsz egy Listener interface-t, amit az AppPanel implementál és ott zárogatod be, ami kell.ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
caindwan
tag
Ha van egy ilyen tömböm:
public boolean[] bortonajtok = {false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false,
false,false,false,false,false,false,false,false,false,false};
És ez a metódus:
public boolean kulcsFordit(){
if(bortonajtok[ajto] == false){
bortonajtok[ajto] = true;
return bortonajtok[ajto];
}
else{
bortonajtok[ajto] = false;
return bortonajtok[ajto];
}
/remélem jól vannak megírva/ Hogyan tudom használni a tömbön a metódust? -
sutszi
veterán
válasz caindwan #3755 üzenetére
Attól függ mi a cél?
Feltételezem egy van egy börtönöd aminek egy bizonyos ajtaját ki akarod nyitni...
Én inkább egy ilyet írnék:
public void kulcsFordit(boolen[] bajtok){
for (i = 0; i<bajtok.length; i++) {
if(bajtok [i]== false){
bajtok(i) = true;
}
}
}Ez azt csinálja, hogy megkapja a bortonajtok tombjet, végig meg rajta és ami be van zárva azt kinyitja...
Így használhatod:
this.kulcsFordit(bortonajtok);Remélem nem írtam el semmit kicsit kapkodtam...de a kérdés, hogy mit szeretnél továbbra is áll.
[ Szerkesztve ]
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
Mukorka
addikt
válasz caindwan #3755 üzenetére
Az ajto változót át kéne adnod a függvénynek:
public boolean kulcsFordit(int ajto){
if(!bortonajtok[ajto]){
bortonajtok[ajto] = true;} //ha mást úgyse csinál az fv-d akkor itt kb még vizsgálni is felesleges...
return bortonajtok[ajto];
}//használni meg így lehet:
boolean fordit = kulcsFordit(4);
Szerintem ennek nem sok értelme van
(#3758) Athlon64+ : Erre gondolhatott, gyanús.
[ Szerkesztve ]
Mukor#2214 --- "Ezt nem én gondolom így, EZ EGY TÉNY!"
-
-
Karma
félisten
Ezt kene otvozni az elotted levo felkialtojeles megoldassal es szerintem megvan a nyertes Boolean valtozo invertalasanal teljesen felesleges a ?: operator.
Ha tippelnem kene, ebbol valamikor a klasszikus bortonor problema lesz (100 zart cella, az or eloszor mindegyiet kinyitja, aztan minden masodikat becsuk, aztan minden harmadikat atbillent... egeszen szazig). Mondjuk ertelme nincs sok, biztosan iskolai feladat.
[ Szerkesztve ]
“All nothings are not equal.”
-
Jim-Y
veterán
Na igen, leírtam, mondom ez fasza, aztán visszaolvastam egyet, és leesett, hogy úgy mégjobb lenne,buuurn beírni már nem írtam be viszont
(#3754) TBG Köszi a választ, végül mindkettőt felhasználtam a programban, de a problémámhoz a konstruktorban objektum átadós módszert választottam most.
[ Szerkesztve ]
-
fatal`
titán
válasz WonderCSabo #3762 üzenetére
Ennél már csak az if (i>0) return true else return false jobb
-
attiati
veterán
Java Eclipse feladat megoldására keresek jelentkezőt fizettségért cserébe. Lásd ---> hirdetés
[ Szerkesztve ]
-
peterszky
őstag
Java Web Starttal indított ablakot fel lehet úgy konfigurálni, hogy átméretezhető legyen?
What else you gonna do on a Saturday?
-
artiny
őstag
Egy GUI-adatbazis kezelo turtorial szerint mentem ... a program lefut,mukodik csak egy bajom van vele. Ha uj sort akarok berakni az adatbazisba es miutan beraktam az uj elemet es elmentem lefagy a progi,nem tudok vissza menni,hogy ide - oda ugraljak az adatbazis elemei kozott.
Ha lezarom az X el a programot es ujbol elinditom akkor az uj elem ott van.Hogyan lehetne megoldani,hogy ne fagyon le a progi es vissza ugorjon oda,ahol mutassa az elemeket a textfield.
a program kod a save button -hoz:
TURTORIAL forras:
http://www.homeandlearn.co.uk/java/save_a_new_record.htmla program kod a save button -hoz:
http://pastie.org/7915215 -
TBG
senior tag
Tehát. Itt ez a remek kód.
try {
rs.moveToInsertRow();
rs.updateInt("ID", newID);
rs.updateString("First_Name", first);
rs.updateString("Last_Name", last);
rs.updateString("Job_Title", job);
rs.insertRow();
stmt.close();
rs.close();
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM Workers";
rs = stmt.executeQuery(sql);Ehelyett inkább: (nem teljes és nem is ismerem a táblastruktúrát)
String insertSql = "INSERT INTO Workers(id,firstname) VALUES("+newID+","'"+firs+"'");
stmt.executeUpdate(insertSql);[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
artiny
őstag
helo.
ilyen hibat ir ki, az adatbazis szerkezete lathato a kepen es a hiba is amit kiir a netbeans,pirossal jelez a kodreszre....
http://i.imgur.com/XfOyBv2.png
megj.: az adatbazist ez alapjan lett: http://www.homeandlearn.co.uk/java/java_and_databases.html
[ Szerkesztve ]
-
gygabor88
tag
-
artiny
őstag
próbáltam ilyet...bar ez sem mukodik.
updateInt("ID", newID); // a newID deklaraltam,mivel nincs ilye..bar nem tudom h most kell e (hibat jelez)
String insertSql = "INSERT INTO Workers (ID,FIRST_NAME,LAST_NAME,JOB_TITLE) VALUES("+newID+","'"+firs+"'","'"+last+"',"'"+job+"'"); // unclosed character literal.t jeley
stmt.executeUpdate(insertSql);[ Szerkesztve ]
-
artiny
őstag
Koszonom a valaszokat
most lefut
De viszont ezt irja amikor elakarom menteni az uj rekordot(elemet az adatbazisban):
Syntax error: Encountered ";"probaltam igy,hogy a kod vegen kihanyom a ..st+"','"+job+"');"; ) utáni ; jelet,erre ezt irta:
ResultSet not open. Operation 'next' not permitted.Melyikel lehet tovabb halladni,ha a st+"','"+job+"');"; a zarojel utan a ; kell oda vagy az nelkul es megkeresni hol blokkolodik a next ?
[ Szerkesztve ]
-
gygabor88
tag
Na a kovetkezo a helyzet. Elolvastam a kodot is, amit fentebb linkeltel es tobb problema is van.
Eloszor is ugyanarrol a threadrol irsz es olvasol adatbazist, amelyikrol GUI elemeket modositasz. A GUI tipikusan nem thread safe, a hozza tartozo elemeket (buttonok pl) a GUI threaden kell modositani. Ezen a threaden pedig nem kellene blokkolo muveleteket pl DB kezelest inditani, mert megakad az egesz felulet tole.
A masik, hogy a ResultSet-en azutan hivod meg a next() metodust miutan meghivtad a close() metodust (executeUpdate mar nem ad vissza uj ResultSetet igy a regi lezartat fogod hasznalni tovabb) es ezert kapsz "ResultSet not open. Operation 'next' not permitted." hibauzenetet.
A harmadik pedig, hogy konnyebb dolgod lenne, ha a string osszefuzogetes helyett PreparedStatementet hasznalnal, ha mar mindenkepp JDBC-vel kell megoldani a feladatot es nem hasznalhatsz valami ORM frameworkot.
[ Szerkesztve ]
-
Taoharcos
aktív tag
Az alábbi lenne a problémám. Egy oldalon név - jelszó párost olvasok be, amit egy statikus ArrayList-ben tárolok. Amikor hozzáadom a listához (addUser), akkor a contains -el még ellenőrizni tudom, hogy a lista tartalmazza-e, utána a loginUser-nél a contains false lesz a már felvitt név - jelszó párossal. Az ArrayList pedig tartalmazza, amíg be nem zárom a programot, mert a toString-el kiíratom és ott van.
[ Szerkesztve ]
-
Taoharcos
aktív tag
válasz Taoharcos #3785 üzenetére
Ja valami kód is:
package com.corejsf;
public class User {
private String name;
private String password;
public User(String name, String password){
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}package com.corejsf;
import java.io.Serializable;
import java.util.*;
import javax.faces.bean.*;
@ManagedBean(name="userbean")
@SessionScoped
public class UserBean implements Serializable{
private String name;
private String password;
private String userListToString;
private static List userList = new ArrayList();
private User user;
public String addUser(){
user = new User(name, password);
userList.add(user);
userListToString = userList.toString();
if (userList.contains(user)){
return "thankYou";
}
else {
return "loginFail";
}
}
public String loginUser(){
user = new User(name, password);
userListToString = userList.toString();
if(userList.contains(user)){
return "thankYou";
}
else{
return "loginFail";
}
}
public String getUserListToString() {
return userListToString;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
} -
Mukorka
addikt
válasz Taoharcos #3786 üzenetére
A loginUser fv hiába csinál a meglévő adatokkal új user objektumot , az mint példány még nincs benne az arraylist-ben ezért lesz false. Mivel nem írtad felül az equals függvényt a User osztályban így az alapértelmezett (örökölt) equals azt nézi hogy ugyan az-e a két objektum memóriában tárolt elérési címe. Ez azért lényeges mivel az ArrayList is a tárolt elemek equals függvényét használja ahhoz hogy megmondja mi van a listában és mi nincs.
[ Szerkesztve ]
Mukor#2214 --- "Ezt nem én gondolom így, EZ EGY TÉNY!"
-
gygabor88
tag
válasz Taoharcos #3786 üzenetére
Az elottem szolokhoz meg annyit tennek hozza, hogy ha csak a contains()-t hasznalod egyelore, akkor ArrayList helyett erdemes lenne LinkedHashSetet hasznalnod. Ez a sorrendet is tartja es hatekonyabb a contains() hivas. + a collectionoknek adj meg generic tipust is <> koze.
-
Mukorka
addikt
válasz Taoharcos #3786 üzenetére
Ha már tanácsadás megy nagyban: A ManagedBean name értéke lehetne userBean , nem pedig userbean.
Ha Serializable interface-t implementálsz akkor pedig vagy legyen serialVersionUID megadva (ezt generálja magától az eclipse is ha megkéred rá) vagy legyen Annotálva az osztály : @SuppressWarnings("serial").
Kerüld a "felkiáltójeles" kódot!Ui: inkább cseréld le a listában tárolt user megoldást adatbázisban tároltra.
[ Szerkesztve ]
Mukor#2214 --- "Ezt nem én gondolom így, EZ EGY TÉNY!"
-
artiny
őstag
válasz gygabor88 #3784 üzenetére
a blokkolo dolgokat kivettem mar es az ket darab enabledot is bekapcslam a ket gombra.(save es a cancelra)
Amikt irtal a ResultSet rol azt azzal nem oldahato meg ha kommentelem a .close(); -t?a save button ilyen most:
private void btnSaveRecordActionPerformed(java.awt.event.ActionEvent evt) {
//...................................................................................
String first = textFirstName.getText();
String last = textLastName.getText();
String job = textJobTitle.getText();
String ID = textID.getText();
int newID = Integer.parseInt(ID);
try {
VALUES("+newID+",'"+first+"','"+last+"','"+job+"')";
String insertSql = "INSERT INTO Workers (ID,FIRST_NAME,LAST_NAME,JOB_TITLE) VALUES(" + newID + ",'" + first + "','" + last + "','" + job + "')";
stmt.executeUpdate(insertSql);
rs.next();
int id_col = rs.getInt("ID");
String id = Integer.toString(id_col);
String first2 = rs.getString("First_Name");
String last2 = rs.getString("Last_Name");
String job2 = rs.getString("Job_Title");
textID.setText(id);
textFirstName.setText(first2);
textLastName.setText(last2);
textJobTitle.setText(job2);
} catch (SQLException err) {
System.out.println(err.getMessage());
}PreparedStatementet -pedig most utana nezek
[ Szerkesztve ]
-
modder
aktív tag
válasz Taoharcos #3786 üzenetére
Illetve a private static List userList = new ArrayList();-t tedd inkább egy @ApplicationScoped bean-be nem static-ként, mert semmi garancia nincs rá, hogy egy konkurens felhasználó, akit másik http worker szál szolgál ki szerver oldalon, ugyanazt fogja látni a userList-ből.
-
Taoharcos
aktív tag
Köszönöm a sok tanácsot, sok hasznos instrukciót kaptam.
Végül az alább látható containsUser-el oldottam meg a feladatot. Mi a véleményetek a megoldásról?package com.corejsf;
import java.io.Serializable;
import java.util.*;
import javax.faces.bean.*;
@ManagedBean(name="userbean")
@SessionScoped
public class UserBean implements Serializable{
private String name;
private String password;
private String userListToString;
private static ArrayList userList = new ArrayList();
private User user;
public String addUser(){
user = new User(name, password);
userList.add(user);
userListToString = userList.toString();
if(containsUser(userList, user)){
return "thankYou";
}
else {
return "loginFail";
}
}
public boolean containsUser(ArrayList<User> userList, User user){
boolean isContainsUser = false;
for(int i = 0 ; i < userList.size(); i++ ){
if(userList.get(i).getName().equals(user.getName())&&userList.get(i).getPassword().equals(user.getPassword())) {
isContainsUser = true;
}
}
return isContainsUser;
}
public String loginUser(){
user = new User(name, password);
userListToString = userList.toString();
if(containsUser(userList, user)){
return "thankYou";
}
else{
return "loginFail";
}
}
public String getUserListToString() {
return userListToString;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}A JSF-el ismerkedem, csak közben gondoltam, egy kis kitérőt teszek az ArrayList irányába. Természetesen később nyilván egy adatbázis a végső megoldás. De egyszerre kezdőként nem akarok több dolgot is csinálni.
[ Szerkesztve ]
-
-
artiny
őstag
Valaki csinalt mar ms access filet hozza kapcsolni java hoz.?
van ez a kod:
public void Connect() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// String DatabaseFile = "D:java/Invertory.mdb";
// String DATABASE =
// "jdbc:odbc:Driver="
// + "{Microsoft Access Driver (*.mdb, *.accdb)};"
// + "DBQ=" + DatabaseFile;`enter code here`
String DATABASE ="jdbc:odbc:Driver= Microsoft Access Driver (*.mdb, *.accdb);DBQ=Invertory.mdb";
CONEX = DriverManager.getConnection(DATABASE);
} catch (Exception X) {
X.printStackTrace();
//JOptionPane.showMessageDialog(null,e);
}
}
ez az error uzenet:java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
http://www.youtube.com/watch?v=Of4LRHOZoII
hozza adtam a control panelben az ODBC nel az Access drivert.
http://i.imgur.com/CAXievm.png
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Robotkart irányított a majom a kínai Neuralink agyi chipjével
- Világító alma helyett világító tok és szíj az almákra
- Stellar Blade
- Luck Dragon: Asszociációs játék. :)
- ASUS routerek
- GTA V
- Házimozi haladó szinten
- eBay
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- PlayStation 5
- További aktív témák...