- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Archttila: SMART tesztelés automatizálva: smartctl poller script Zsh-ban, RPi-re
- gban: Ingyen kellene, de tegnapra
- btz: Internet fejlesztés országosan!
- sziku69: Fűzzük össze a szavakat :)
- Parci: Milyen mosógépet vegyek?
- bacsis: Gyere el a 11. BRSZK-ra!
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- MasterDeeJay: Low budget (50.000 forint) light gémer gép összerakása
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - 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! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁ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
-
Davs
tag
Tényleg, csak az avatar-t néztem.
A futtató környezetet megadtam, és a egy könyvhöz adott cd-vel kiakartam próbálni ezt a hibát írja ki:"Error: Could not find or load main class Saluton"
Szerintem CLASSPATH hiba..Letre kell hozni windowson egy CLASSPATH nevu enviromental variablet, aminek az erteke "." (" nelkul). Sajatgepen jobbklikk -> Properties -> Advanced system settings es a felugro ablak aljan ott a gomb
-
Davs
tag
Hali!
Singleton osztalyokkal es GC-vel kapcsolatban lenne egy kerdesem..Ha van egy osztalyom, pl
public MyClass {
private static MyClass myClassInstance = null ;
private MyClass() {}public static MyClass getInstance() {
if(myClassInstance == null) { myClassInstance = new MyClass(); }
return myClassInstance ;
}
}Naugye most az osztalynak van referenciaja sajat magara. GC amennyire en tudom addig nem torol egy objektumot, amig van ra valahol strong reference. Mi a helyzet ebben az esetben? Mikor fogja a GC torolni az osztaly? Van kulonbseg az kozott, hogy egy osztalynak van referenciaja magara es akozott, hogy mas osztalynak van referenciaja az adott osztalynak?
-
Davs
tag
class MyClass {
public MyClass {} // constructorpublic String toString() {
return "Hello en vagyok az, MyClass" ;
}public static void main(..) {
System.out.println(new MyClass()) ; //Hello, en vagyok az, MyClass
}}
Magyarul "ki tudod iratni az objektumot" .
-
Davs
tag
Még csak nemrég kezdtem el tanulgatni a Java nyelvet, de a tankönyv, amit olvasok már többször említette az "interfész" szót, és ezt is: "az osztály által implementált interfészek".
Később persze ezt is tárgyalja majd a könyv, de már nagyon kíváncsi vagyok rá, beleolvasni meg inkább nem akarok előre.
Csak egy rövid összefoglalóként mégis, mik ezek az interfészek, mire jók, és mit jelent az hogy egy osztály implementál egy interfészt?Egy intefesz csak definialja a metodusok neveit. Ha az osztalyod implementalja az interfesz, akkor az osztalynak definialnia kell MINDEN metodust, ami az interfeszben volt. Ahogy az elottel szolo peldajaban is latod, a MyService interfeszben csak a metodusok neve van definialva. A MyServiceImpl osztaly implementalja a MyService interfeszt, ezert implementalnia kell a get/setSomething metodusokat.
Ez ez egesz iterfeszes dolog pl arra jo, hogy ellenorizni tudod, hogy egy osztaly implementalja-e az adott interfeszt, es ha igen, akkor biztosan tudod, hogy az osztaly tartalmazza az interfeszben definialt metodusokat stb.
-
Davs
tag
Sziasztok!
Olvasom a hátékony java könyvet, nem rossz könyv, de néha hatalmas ugrásnak érzem.
Lenne kérdésem, most van egy kompozicíó vs osztály öröklés téma.Ezt nem teljesen értem:
"Az öröklés csak akor játszik igazián szerepet, amikor az alosztály tényleg valódi altípusa a szuperosztálynak. Más szavakkal egy B osztály csak akkor bővíthet egy A osztályt, ha a két osztály között megvan a megfelelőségi kapcsolat. Mielőtt B-vel bővítenénk A-t, tegyük fel a kérdést: Minden B megfelel A-nak? Nemleges válasz esetén a B esetleg tartalmazzon egy A privát példányt és az API legyen kisebb és egyszerűbb."
Mi a valódi altípus, és megfelelőségi kapcsolat? Nekem ezek a fogalmak nem igazán derültek ki.Meg a könyv azt írta, hogy a Kompozíció végül is a Decorator tervezési minta... Azzal megtudnám tanulni ezt a kompozíciót?
.
Ez sem rossz amit ír a könyv ír, de nekem akkor sem tiszta a példa alapján belekavarodok...És amúgy is érdemes használni a Kompozíciót?
class A {}
class B extends A {} -> ez oroklodes
class C {
public A AObject = new A() ; -> ez kompozicio
}B objektum eseten minden public es protected dolgot (metodust es valtozot) oroklunk az A-bol. B-ben tudunk hozzatenni az A-bol orokolt dolgokhoz, de altalanosan elmondhato, hogy ami A-ban van (es public) az a B-ben is ott van, ezert lenyegeben mondhatni, hogy a "B" class "A" tipusu is. Mivel a B az A-tol orokol, az alabbi kodreszlet valid:
A Avaltozo = new B() ;Kompozicio eseten nem csinalhatsz ilyent: A Avaltozo = new C() ; -> mivel a C nem orokol az A-tol, egyszeruen a C csak tartalmaz egy A-t.
Oroklodes = "olyan, mint" -> B orokol A-tol -> B olyan, mint az A ( B az A altipusa)
Kompozicio = "van neki" -> C-ben van "A-kompozicio" -> C-nek van A-jaNemtudom, mennyire vilagos ebbol, szerintem rossz tanar lennek, de ha mar ennyit utottem a gombokat, azert elkuldom, hatha van benne valami ertheto is
(+ remelem nem tevedtem nagyot sehol se) -
Davs
tag
Hi!
Elkezdtem olvasgatni a concurrency temarol es lenne egy kerdesem. Sokszor van emlite a szovegben a single processor - multiple processor dolog. Egy ketmagos proci most akkor melyik csoportba tartozik? A ket mag tekintheto ket kulonallo processzornak? -
Davs
tag
-
Davs
tag
Hali!
Az lenne a kérdésem, hogy milyen könyvet/online anyagot használsz a tudásod elmélyítéséhez?
Többieknek:
Kellene egy kis segítség definiáció értelemzésében.
Mit jelentnek a következő kifejezések, nekem nem tiszta
"változtatható objektum", "végleges objektum", "végleges mező", én igazából itt a final kulcsszóra gondoltam, de nem vagyok benne biztos.
a final valtozo erteket nem lehet valtoztatni (objektum eseteben csak a referencia fix)
final metodust nem lehet felulirni (override) orokolt objektumban
final osztalybol pedig nem lehet orokolni..
kb ennyi -
Davs
tag
Tényleg, itt mi a hiba? a static kulcsszó hiánya?
Most nincs semmilyen java előttem, és így fejben keresek megoldást.hunfatal: úgy tűnik, hogy a java 1.5-től elérhetőek az annotációk. (Az override az pedig annotáció...)
Java annotation - wikipediaNincs hiba, a ForNameCreator class felulirta a types() fuggvenyt, ahogy kell. Az zavart ossze engem, hogy rogton a class elejen volt egy szinten types nevu valtozo (ArrayList) es azt hittem, hogy valahogy az irja felul a fuggvenyt.
-
Davs
tag
-
Davs
tag
PetCreator:
//: typeinfo/pets/PetCreator.java
// Creates random sequences of Pets.
package typeinfo.pets;
406
Thinking in Java
Bruce Eckel
import java.util.*;
public abstract class PetCreator {
private Random rand = new Random(47);
// The List of the different types of Pet to create:
public abstract List<Class<? extends Pet>> types();
public Pet randomPet() { // Create one random Pet
int n = rand.nextInt(types().size());
try {
return types().get(n).newInstance();
} catch(InstantiationException e) {
throw new RuntimeException(e);
} catch(IllegalAccessException e) {
throw new RuntimeException(e);
}
}
public Pet[] createArray(int size) {
Pet[] result = new Pet[size];
for(int i = 0; i < size; i++)
result[i] = randomPet();
return result;
}
public ArrayList<Pet> arrayList(int size) {
ArrayList<Pet> result = new ArrayList<Pet>();
Collections.addAll(result, createArray(size));
return result;
}
} ///:~ForNameCreator:
//: typeinfo/pets/ForNameCreator.java
package typeinfo.pets;
import java.util.*;
public class ForNameCreator extends PetCreator {
private static List<Class<? extends Pet>> types =
new ArrayList<Class<? extends Pet>>();
// Types that you want to be randomly created:
private static String[] typeNames = {
"typeinfo.pets.Mutt",
"typeinfo.pets.Pug",
"typeinfo.pets.EgyptianMau",
"typeinfo.pets.Manx",
"typeinfo.pets.Cymric",
Type Information
407
"typeinfo.pets.Rat",
"typeinfo.pets.Mouse",
"typeinfo.pets.Hamster"
};
@SuppressWarnings("unchecked")
private static void loader() {
try {
for(String name : typeNames)
types.add(
(Class<? extends Pet>)Class.forName(name));
} catch(ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
static { loader(); }
public List<Class<? extends Pet>> types() {return types;}
} ///:~ -
Davs
tag
Hali!
A kovetkezo dologra szeretnek rakerdezni:PetCreator:
public abstract class PetCreator {
public abstract List<Class<? extends Pet>> types();
}ForNameCreator:
public class ForNameCreator extends PetCreator {
private static List<Class<? extends Pet>> types =
new ArrayList<Class<? extends Pet>>();
}A PetCreatorban a types() egy abstract metodus, nem? Akkor hogy lehet, hogy a ForNameCreator-ban mint sima field szerepel?
-
Davs
tag
Java concurrency . Az elso link jonak tunik, az a hivatalos dokumentacio (ha jo angolul)
Amugy minden GUI-nal ugy van, hogy azon a szalon, ahol a JFrameket stb- t csinalod nem szabad komolyabb, sokaig tarto dolgokat csinalni, mert az igy leblokkolja a GUI-t (ami igy nem tudja ellenorizni, hogy tortent-e uj Event -billentyulenyomas, egerklikk, progressbar changge- stb.
-
Davs
tag
Szeretnék írni egy fájlmásolást progress barral, viszont nem jön össze. Mikor meghívom a lent látható fileMasolas metódust szépen megjelenik a JGrame, viszont a belseje "átlátszó" és csak azután jelenik meg, hogy végzett az utána következő fájl másolással. Valakinek ötlet, hogy mi nem jó?
private void fileMasolas() {
JFrame frame = new JFrame("Mentés másolása folyamatban");
pb = new JProgressBar(0, 100);
pb.setValue(0);
pb.setStringPainted(true);
JPanel panel = new JPanel();
panel.add(pb);
panel.setBorder(BorderFactory.createEmptyBorder(40, 75, 40, 75));
frame.setContentPane(panel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
File filein = new File("D:/adat.db");
File fileout = new File("D:/adat_new.db");
FileInputStream fin = null;
FileOutputStream fout = null;
long length = filein.length();
long counter = 0;
int r = 0;
byte[] b = new byte[1024];
try {
fin = new FileInputStream(filein);
fout = new FileOutputStream(fileout);
while ((r = fin.read(b)) != -1) {
counter += r;
int bar = (int) (100.0 * counter / length);
pb.setValue(bar);
fout.write(b, 0, r);
}
} catch (Exception e) {
System.out.println("Hiba");
}
}Ohm az ilyent szerintem kulon Threadben kellene csinalni. Itt nem arrol van szo, hogy a masolas blokkolja a GUI threadet es azert nem frissiti magat a masolas alatt?
-
Davs
tag
Hali!
Köszönöm a válaszokat! Athlon64+, Davs

Most jövők elméleti / gyakorlati kérdésekkel, majd. Leporoltam a Java könyveket, és erősen Java hivő lettem
![;]](//cdn.rios.hu/dl/s/v1.gif)
A beágyazott osztályok, még odébb vannak, de ha ott tartuk, feltétlenül szólok!
Classloader-t nem ismerem, feliírtam magamnak, az általában melyik nagyobb témakörrel együtt szerepel? Beágyazott osztályoknál? Nekem még ez új volt.
Mindenképp utánaolvasok majd 
Ezt jó volt megjegyezni, hogy a static osztály, csak belső lehet.
Akkor viszont, jöjjön a kérdés:
"Mivel azonban a nested classod privát, ezért kívülről egyébként sem férhetsz hozzá az osztályhoz, így az adattagokhoz sem, csak és kizárólag a tartalmazó osztályból."
1.
- Miért fér hozzá a tartalmozó osztály? Hiszen ha a belső osztály privát, akkor elméletben nem férek hozzá. De mégis hozzáfér az őt tartalmazó osztály? Miért?
Például van az A osztáy privát, a B osztály public, akkor az A hozzáfér a B osztály tagfüggvényeihez/adattagjaihoz, de a B nem férhet hozzá az A-hoz.2.
- Milyen gyakorlati haszna van, és mikor érdemes belső static osztályt használni a sima osztály helyet?3.
- Ősosztály példánya hajthat-e végre, az alosztály példányán műveleteket, ha az privát láthatóságú.
Példa.: Ez így lehet nem állja meg a helyét, meg én Interfésszel valósítanám meg, de elméleti kérdés... Legyen adott egy publikus Állat ősosztály, itt van például az ugat() metódus. És van a publikus Kutya és a privát Farkas alosztály.
Legyen egy függvény az állatban: hajtóvadászat(Állat állatPéldány) néven, amely meghívja az állat példányhoz tartozó ugat() metódust.
Ha ezt a hajtóvadászat(Állat állatPéldány) függvényt meghívom úgy, hogy a paraméterben egyszer a Kutya osztály egy példánya van, akkor azon az ugat()-ot végre tudja hajtani, de ha Farkas osztály egy példányánál már nem tudja meghívni az ugat() fv-t igaz? Gondolom ilyenkor a JVM RuntimeException-t kéne dobnia.4.a
Ha egy ősosztály privát (és vele együtt, minden adattag, és tagfv.), és rendelkezik alosztállyal, akkor a fordító automatikusan legenerálja az alosztály számára is a privát adattagokat/tagfv-t?
4.b
Vagy az ősosztály protected/privát, és van benne 1 privát adattag. Akkor az alosztály is megkap minden egyes adattagot, még a privát-ot is, csak annyi a különbség, hogy nem fér hozzá az ősosztály ezen privát adattagjához.
Pl: Állatnak van a privát futás(), és van a publikus Farkas alosztály, akkor a farkas példányának is van futás() nevű fv-e, igaz?
De akkor megint itt jön a helyetesíthetőség elve, hogy ha Egy Feldolgozó osztályban (Például egy függvényt, amely paraméterben egy állat osztályt vár)meghívom az Állat osztály egy állat nevű példányát, akkor a futás() fv-hez nem férek hozzá. És ha az állat példány helyett egy farkas példányt hívok meg, akkor annak a futás()-a meghívható...
Nem tudom, hogy mennyire voltam érthető...5.
Akkor ha egy osztály publikus vagy privát, és az adattagjainál nincs külön feltüntetve, hogy milyen láthatóságú, akkor automatikusa az osztály láthatóságát kapják meg, igaz?
arn: http://nagygusztav.hu/java-programozas -ez az előbb említett fórumtárs által javasolt könyv, egy sokkal rövidebb és magyarosított változata.(néha van egy olyan érzésem, hogy csak egy fordító progi lett ráeresztve az eredeti könyvre...) A Thinking in Java könyv, tényleg nem rossz, de én félbe hagytam anno. De nagyon részletes, és még Design Pattern példák is vannak benne!
1.
- Miért fér hozzá a tartalmozó osztály?
- Itt most egymasba agyazott Classokrol van szo..Class classon belul (ez nem oroklodes!). Vegyunk pl egy sima public classot. Te a classon kivul tudsz a classbol objectet csinalni, hozzafersz a public valtozoihoz/metodusaihoz, a privathoz viszont nem! A privatot csak a class/object maga tudja hasznalni es ha ugy akarja az isten akkor kozvetlenul te is (egy public metodus a classon belul ami hozzaferest ad a privat valtozohoz). Namost ha egy class tartalmaz egy masik privat classot, akkor ahhoz is csak o fer hozza kozvetlenul.
public class A{
private class B{}
}
Leegyszerusitve vehetjuk ugy, hogy a B class az Aclass sajatja, tehat hozzaferhet.2.
http://stackoverflow.com/questions/70324/java-inner-class-and-static-nested-class
Az elso valaszban van leirva peldaval, hogy hogyan ferhetsz hozza. Ha sima inner class-bol akarsz objektumot csinalni, akkor ha jol tudom eloszor kell egy object-et csinalnod a kulso classbol es csak utana tudsz a belsobol, mert a belso csak a kulson belul "el". Static-ot meg talan tudsz siman Kulso.Belso valtozo = new Kulso.Belso() ;3. passz
Amugy azt polymorfizmusnak hivjak, amikor egy alosztalyt az ososztalyanak tekinted. Viszont igy hirtele fogalmam sincs, mi tortenik, ha privat class orokol az allattol..privat classbol egyaltalan lehet objektumot csinalni? 
4. Tudtommal privat dolgokat NEM orokolnek az alosztalyok. Ha maga az ososztaly privat, akkor lehet ott dob hibat, amikor az alosztaly akar orokolni (tipp).
Protected egy olyan privat dolog, amit lehet orokolni, de kivulrol szinten nem fersz hozza.5. Amennyire tudom, egy classon belul alapbol minden privat.
-
Davs
tag
tudnatok vmi jo javatutorialt, vagy konyvet ajanlani ujrakezdoknek?

kb 10 eve tanultam, meg programoztam is jopar nyelven (c, pascal, delphi, etc), illetve webfejlesztokent is dolgoztam (php, mysql vonalon). oop teruleten sincs tul nagy tapasztalatom (regen tanultam, parszor hasznaltam, de kb ennyi), igy nem artana arrol sem vmi.
kicsit kesobb meg a webfejleszteses resze erdekelne.
http://mindview.net/Books/TIJ4
En ajanlanam a Thinking in Java -t, van benne oop elmelet/gyakorlat/sok pelda, en is olvasom epp, csak ajanlani tudom! -
Davs
tag
Heló,
nem
![;]](//cdn.rios.hu/dl/s/v1.gif)
A "nested class-od" adattagjainak láthatósága alapértelmezetten package.
remélem tudod, hogy a static class csak belső osztályként jöhet létre (nested class), és nem azt jelenti, hogy ez egy singleton.
statikus nem a láthatóságra vonatkozik, hanem hogy az adott tag (metódus vagy mező) nem objektum példányhoz, hanem osztály példányhoz tartozik.
Kicsit több tudást igénylő példa, de ugyanazon nevű osztályból (package nevet is beleértve) szélsőséges esetben több példány is létezhet egy jvm-en belül (egy futtatás alatt), ha azok különböző classloaderekkel lettek betölve. (most nem objektum példányról beszélek, az egyértelmű, hogy egy osztálynak több példánya is lehet) -- A java classloaderek kicsit hasonlítanak a PHP-s auto-load classloaderekhez.
az osztálytagok (metódus vagy mező) alapértelmezett láthatósága a package. Így ebben az esetben is. Mivel azonban a nested classod privát, ezért kívülről egyébként sem férhetsz hozzá az osztályhoz, így az adattagokhoz sem, csak és kizárólag a tartalmazó osztályból.
Tehát az Elem osztályod tagjaihoz csak a tartalmazó osztályból férhetsz hozzá, tulajdonképpen magához az osztályhoz is.
Lehet egy nested class nem statikus is
Ha a belső osztályod nem static, akkor egyértelműen hozzá van kötve az őt tartalmazó osztály egy példányához. Példányosítani kicsit furcsa szintaxissal kell:
KulsoOsztaly.BelsoOsztaly belsoPeldany =
kulsoOsztalyPeldany.new KulsoOsztaly.BelsoOsztaly();belső osztályból a tartalmazó külső osztálypéldányra hivatkozni pedig:
KulsoOsztaly tartalmazoOsztalyPeldany = KulsoOsztaly.this;http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html nézd meg a példakódot
KulsoOsztaly.BelsoOsztaly belsoPeldany =
kulsoOsztalyPeldany.new KulsoOsztaly.BelsoOsztaly();helyett veletlenul nem igy van ez jol? :
KulsoOsztaly.BelsoOsztaly belsoPeldany =
kulsoOsztalyPeldany.new BelsoOsztaly(); -
Davs
tag
Hali!
Windowson az Environment Variables-en belul van (user es system-en belul is) egy CLASSPATH valtozom, aminek a tartalme: .;D:\workspace\Java
D:\workspace\Java legyen ezentul <path><path>\com\davsx\util\Print.java tartalma:
package com.davsx.util ;
import java.io.* ;
public class Print{
public static void print(Object o) {
System.out.println(o) ;
}
public static void print() {
System.out.println() ;
}
public static void printnb(Object o) {
System.out.print(o) ;
}
}Ezt <path> alol a javac com\davsx\util\Print.java paranccsal leforditottam .class-ra (amit ott is hagytam)
<path>\PrintTest\PrintTest.java tartalma:
import static com.davsx.util.* ;
public class PrintTest
{
public static void main(String[] ars){
print("Hello") ;
}
}Es amikor probalnam a <path> alol parancssorbol futtatni a javac PrintTest\PrintTest.java parancsot (vagy akar a javac -cp . PrintTest\PrintTest.java -t) a package com.davsx not found hibauzenetet kapom. Mit csinalok rosszul?
-
Davs
tag
Ha jol tudom fileonkent max 1 public class lehet es alapbol publicnak veszi a class-t, ha nem raksz ele semmit.
Amugy parancssorbol hogy kell leforditani/lefuttatni 2 java class-t? Egyikben a main, masikban meg pl es sajat object..javac MyClass1 MyClass2 ? -
Davs
tag
Jól hangzik :-). Igyekszem.
Javaslom ezentul a java -cp . MyClass stilusu futtatast.
a -cp a CLASSPATH-ot allitja be "."-ra, vagyis az aktualis konyvtarra -
Davs
tag
Hú ezt én sem értem. Valaki elmagyarázhatná nekem, a mysql-nek a class path-a miért határozza meg a legegyszerűbb hello program futtatását. Amikor ennek a programnak nincs is szüksége adatbázis kapcsolatra. Vagy egy hibás class path megadás blokkolja a legegyszerűbb progi futtatását is?
Hmm lehet, hogy ha nem talal CLASSPATH valtozot a java, akkor az aktualis konyvtarra allitja be maganak..de ha talal egyet, amiben nem szerepel a "." (aktualis konyvtar), akkor talan csak a CLASSPATH-ban megadott konyvtarakban keres
-
Davs
tag
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
A JDK-m pedig az /opt/java/jdk alatt vanViszont a telepítésnél ezeket az utasításokat adtam ki az Oracle Java kicsomagolása után:
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/java/jdk/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/java/jdk/javaws" 1Még kezdő Linuxos vagyok, szóval nem teljesen értettem, hogy ezek mit csinálnak, viszont a Google ezt ajánlotta.
Az en javaslatom amugy probaltad?

java -cp . Salution
Igy elvileg ha a CLASSPATH rosszul van beallitva, akkor futtatas elott a "."-ot hozzaadja (nemtudom veglegesen-e)..De most, hogy manualisan hozzairtad a "."-ot, mindegy

-
Davs
tag
-
Davs
tag
Error: Could not find or load main class Saluton
Proba:
nyisd meg a windows parancssort, navigalj el a .class fajlodat tartalmazo konyvarhoz, majd:
java -cp . Salution@kispx
Igen, class nelkul kell megadni, de o is ugy adta meg "...java Saluton -t irtam parancsnak ..." -
Davs
tag
Sziasztok. Most kezdtem a java programozási nyelvel foglalkozni. Olyan problémába ütköztem, hogy megírtam leírás segítségével a Hello World! általánosan elterjedt programot experanto nyelven, windows jegyzettömbel, majd parancssorban beléptem abba a mappába ahol ez található, probáltam lefuttatni a javac-al de nem sikerült. java develompment kitem van 7-es verzió. Windows 7-em van. A parancssor azt irja nem ismeri fel belső vagy külső parancsként, futtatható programként vagy kötetfájlként. Segítsetek!
Windowsos jegyzettob helyett probald meg inkabb pl a Notepad++ t
-
Davs
tag
Egy nagyon noob javaslat, hogy kiiratni asciiben, hogy tudjuk milyen karakter az? (sztem nem tuti, hogy kerdojel, lehet vmi specialis karakter)
-
Davs
tag
Sziasztok!
Egy programon dolgozok, a fő része egy for függvény, és minden futásnál egy sort (amit a parancssorból a felhasználótól kap) ír a meghatározott fájlba.
Ez működött parancssorban, de most egy GUI-t akarok csinálni hozzá, és ugyanazt a bemenetet egy szövegmezőből kapná. A kérdésem az lenne, hogy lenne megoldható, hogy a for akkor menjen csak tovább ha megnyomok egy gombot (a gombnyomásra beolvassa a szöveget a szövegmezőből, de ez már megvan)?Nemtudom pontosan hogy van javaban,de szerintem a gombhoz hozza kell rendelni egy onClickListener feleseget..szoval ha rakattintasz, akkor fusson le egy megadott kodreszlet..
-
Davs
tag
-
Davs
tag
Hát egy Very Hard, vagy Extreme nincs meg ebből a két módszerből (elég sokat játszottam egy időben) - még csak részleteiben sem. Kell még mellé vagy 3 másik módszer: dupla-, tripla kizárás, rejtett duplák, triplák. Ezekkel általában megoldható egy VH, extrémhez még mindig kellhet még mélyebb technika. Utána színezés (ez már BF).
mod:
Szerintem nem volna sokkal gyorsabb két dimenziósban sem. Eseteg négy dimenzióval
Én sima tömbbel csináltam, generált (illetve konfigurálható) régiókkal. Lehet, hogy ez lassabb, de el tud boldogulni nem szabványos felépítésű táblával is.AE
Tudnal linkelni egy oldalt, ahol ilyen very hard, vagy extreme sudokuk vannak megoldasokkal egyutt? En neztem egy oldalon extreme puzzleket es siman megoldotta..telefonomon rajta van az app, ki tudom probalni

http://www.extremesudoku.info/sudoku.html Innen probaltam egy extreme-t, ~1,5 sec korul megis oldotta
-
Davs
tag
Igazabol 3..az elejen, amig talal valamit fut a "single candidate" es a "hidden single candidate", aztan ha ezek lefutottak es meg nincs befejezve a sudoku akkor max 3 bruteforce
...erjek haza melobol es feldobom..de amugy nagyon alpha fazisban van a dolog, epphogy mukodik
egydimenzios tombben van jelenleg a sudoku tabla, azt mindenkeppen at kellene csinalni ket dimenziosra, szerintem ugy gyorsulnanak a muveletek..bar nem nagy eroforrasigenyes dolog egydimenziosbol kiszamolni, hogy melyik elem tartozik ugyanabba a sorba,oszlopba,blokkba (szerintem..1-2 osztas, kivonas,% a for ciklusban) -
Davs
tag
Nagyon OFF:
Hogy így felkeltetted az érdeklődésem összedobtam egy bruteforce (sor/oszlop/block érték-kizárás+rollback-kel) c# kódot - 225 ms alatt "megoldja" a teljesen üres táblát (első jó megoldás). Kis akarattal átültethető Java-ra is (bár használtaam benne egy kis LINQ-et az egyszerűsg kedvéét).AE
hat le ugyan nem mertem, de az en kodom is latszatra azonnal megoldja a sudokut az i3-2330M-emen...de androidon tart ~1masodpercet...ott mar van lathato delay
-
Davs
tag
Ha ez nekem szolt, akkor elmondom, hogy bruteforce-ot csak vegso esetben hasznaltam, miutan az elotte levo 2 modszer nem tudta befejezni az egesz sudoku-t. Feltehetem a java kodot, amint lesz egy kis idom dobok bele par kommentet..Azutan az a java kod ment 1az1-ben szinte at androidba is..
-
Davs
tag
Sikerult osszehoznom a sudoku solvert, http://www.sudoku.ws/extreme-5.htm errol az oldalrol is megcsinalja az extreme puzzleket is, gepemen szinte rogton vegez, androidon (gt540 7227-es 600mhz-s procival) ugy ~1,5-2masodperc alatt kesz, szoval kedzhetem kicsit optimalizalni a kodot

Amugy a vegcel az, hogy androidon lefenykepezem a sudoku feladvanyt, felismertetem vele es vegul megoldom -
Davs
tag
Tudsz olyat, hogy var.get(0).get(0) csak ebbe nem nehéz belezavarodni

De ha jól értem mit szeretnél akkor azzal jársz a legjobban ha csinálsz magadnak egy Candidates classt ami pl egy ArrayListben tárolja a számokat, és abból csinász egy 2 dimenziós tömböt(generikusokból nem tudsz tömböt csinálni ugyanis, de ha becsomagolod a dolgot egy saját osztályba akkor már jó vagy). Aztán ha kiürült, akkor vagy az osztályt írod meg úgy, hogy ezt meg tudja mondani magáról, vagy egyszerűen null-ra állítod helyét a tömbben.Koszi, osszehoztam vegul
minden lett benne
Vegulis lett egy Candnum classom, benne egy privat List<List<Integer>> list = new ArrayList<List<Integer>>() ;
list.size() az inicializalas utan 81, mindegyik eleme vagy 'null', vagy egy List<Integer> a lehetseges szamokkal..ha esetleg erdekel, feltehetem a kodot
Meg egy masik dolog..A CandNum classon belul van egy setCand(i) //i->0-80 metodus, ami minden egyes mezohoz kiszamolja a lehetseges szamokat, es ha valahol csak 1db van, akkor azt automatikusan beirja a sudoku[] tombbe (ahol az eredeti szamok vannak).
Az erdekelne, milyen modszerrel lehetne megviszgalni, hogy egy parancs(konkretan a setCand) lefuttatasa utan, valtozott-e egy int[] tomb (konkretan a sudoku[] tomb). Elso gondolatom, hogy osszeadom az elemeit..esetleg van gyorsabb megoldas? Arra kell, hogy amig valtozik a sudoku[] tomb, addig futtatnam a setCand() metodust. Foleg bonyolultabb sudokuknal feltetelezem, hogy tobbszor is le fog futni, ezert erdekelne a legkevesbe eroforrasigenyes megoldas -
Davs
tag
Ez egy picit nincs túl bonyolítva?

Már tervbe van véve, hogy 1 hónap múlva fogok a generikusokról részletesebben tanulni, de ez szerintem túl bonyolult így.
Esetleg azt csinálnám, hogy az <ArrayList<int>> típusból egy osztályt csinálnék ami dolgozik ezekkel az ArrayListekkel, és akkor lehetne rá Get és Set metódusokat írni. Ha nagyon ezt akarod követni.
És akkor így talán egyszerűbb, átlátod, és az ArrayList<int>-eket objektumként kezeled. És tudnál metódust írni amellyel eléred az ArrayList elemeit is
Én így ennyit tudtam mondani, mint lelkes java tanuló
. De majd jönnek az okosabbak 
De, tutira tul van bonyolitva..igazabol osszesitve kell egy 81 nagysagu tarolo (9*9), aminek minden eleme lehet 0, vagy egy tomb es ennek a tombnek a merete lehet 1-tol 9ig es lehessen barhonnan torolni belole
Mondjuk most, hogy igy megfogalmazta, lehet eleg lenne egy tarolo, ami vector<int>-eket tarolna siman. C++-ban egyszeruen lehetett .push_back()-al hozzaadni, es .erase()-szel tetszoleges elemet torolni belole..talan itt is mukodik ez
utananezek...most mar csak akkor az a kerdes, hogy azt a 81db vector<int>-et miben taroljam 
Amugy ha lattok valami esszerubb leirast a sudoku problema megkozeliteserol, akkor nyitott vagyok mindenre

-
Davs
tag
Hmm esetleg egy ilyen ArrayList-ceptionnek van ertelme?
ArrayList<ArrayList<int[]>> var = new ArrayList<ArrayList<int[]>>() ;
szoval ahogy en ertelmezem, a var egy ArrayList, ami ArrayList<int> -et fog tartalmazni..
Viszont ami most nem vilagos, hogy hogy erem el az egyes elemeket
var.get(0)-val pl elernem a tombot, ami az elso elem tartalmazott.. ezt most hozza kell rendelnem egy masik ArrayList<int[]>-hez, es ujra .get()-el kell elerni az egyes elemeket (1,2,3...), vagy van egyszerubb megoldas is? -
Davs
tag
Hali, kellene egy kis segitseg. Sudoku-fejto programocskan munkalkodok (androidra, de most azt hagyom, kulon javaban szeretnem implementalni az egeszet, aztan atvinni oda).
Adott a sudoku[] tomb, 81elemmel ugyebar, mindegyik eleme vagy <1,9> szam, vagy 0, ha ures. Addig futna a program, amig van 0 a sudoku tombben, mert ugye addig nincs megoldva.
Ott tartok, hogy minden mezohoz el szeretnem menteni a lehetseges szam-jelolteket es kicsit tanacstalan vagyok abban, hogy milyen adattipust hasznaljak. A lenyeg, hogy minden eleme egy tombbot tartalmazzon, tehat a candidate[0]={1,2,3}, candidate[1]={8,9} , esetleg, ha nincs semmilyen lehetoseg (ergo azon a mezon mar meg van adva a szam), akkor tomb helyett egy egyszeru (int) 0 szerepelhetne. Ugy lenne jo, hogy azokbol a tombbol torolhessem az elemeket, pl ha a bal felso sarokban (ahova eddig mehetett 1,2,3) ki tudom zarni a 3-ast, akkor torolhessem a tombbol, igy candidate[0]={1,2} maradna. Eddig valahol itt tartok, mukodni mukodik, csak nemtudom, hogy az int[][] tombbol lehet-e torolni elemeket..public static int[][] candidates() { //kigeneralja a tombot a lehetseges szamokkat
int[][] cand = new int[81][] ;
for (int i = 0; i < 81; i++) { //vegigmegy a sudoku[] tombon
if (sudoku[i] != 0) { //ha a szam mar meg van adva, akkor 0-t allit be
cand[i] = new int[1] ;
cand[i][0] = 0 ;
} else { //ha a szam nincs megadva, azaz =0
int[] tmp = getCand(i) ; //getCand ellenorzi, hogy az adott mezoben mely szamok lehetnek (sort es oszlopot nezi csak)
cand[i] = new int[tmp.length] ;
cand[i] = tmp ;
System.out.println(cand[i][1]) ;
}
}
return cand ;
}
es itt lenne jo, ha pl a cand[0]-ban levo tombbol tudnek torolni..C-ben vectoroztam anni, most is probaltam ArrayList-ezni, csak nemigazan tudtam deklaralni ugy, hogy az adott valtozom minden eleme egy tombbot tartalmazzon..igy roviden ennyi a problemam
-
Davs
tag
Hali!
Nezegettem mar par tutorialt, megyeket a Java, stb. Az lenne viszont a kerdesem, hogy a vilagon ugye most a legelterjettebb nyelv a java, ha jol emlekszem 20% felett van (nemtudom pontosan melyik kutatas alapjan olvastam ezt). Dilemmaban voltam, hogy a Javanak, vagy a C++-nak alljak-e neki, vegul Java mellett dontottem (amit abszolut nem banok, objektumokkal kapcsolatban is megtanultam sok olyan dolgot, amit kesobb mas nyelvnel is tudok kamatoztatni).
A kerdesem az lenne, hogy hol hasznaljak a Javat? Ugye mobil/android szektor az vilagos. De azonfelul? Windows-os/Linux-os GUI-s programokhoz en valahogy a C++-t szimpatikusabbnak talalom, foleg Windowsra, ahol nem kell JDK-t telepiteni kulon..foleg, hogy a c++ ha jol tudom "gyorsabb". Nem otthoni, inkabb ilyen ceges viszonylatban erdekelne a dolog, hogy ha pl fosuli utan Java fejleszto lennek, akkor kb mire szamithatok. Tehat milyen teruleten hasznaljak a Javat?
Koszonom a valaszokat
Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - 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! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁ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?:))
- Mibe tegyem a megtakarításaimat?
- Apple MacBook
- Huawei Watch Fit 5 Pro - jó forma
- Amlogic S905, S912 processzoros készülékek
- Fujifilm X
- TV antenna és jelerősítés
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Gyúrósok ide!
- Kerékpárosok, bringások ide!
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- 4000GB Gen4x4 NVMe SSD, 1 év gar 4TB!!!
- SZÉP! HP ZBOOK FURY 15 G7 Tervező Vágó Laptop -70% 15,6" i7-10850H 32/512 Quadro RTX 3000 6GB FHD
- GARANCIÁLIS LEMEZES PLAYSTATION 5 SLIM CFI-2116
- NAGYKER ÁR!Sosemhasznált! HP OmniBook 5 Flip i5-1334U 8GB 512GB 14" FHD+ áthajtós-érintős Gar.: 1 év
- Macbook Pro 14" A2442 2021 M1 Pro 32/1TB Silver
- HP EliteBook 650 G10 15,6" i5 -1335u, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- 0PERCES BOSE QuietComfort Ultra Headphones, zajszűrős, Bluetooth fejhallgató!
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol Starfield extrákkal garanciával
- ASUS ROG Strix SCAR 16 / Ultra 9 275HX / RTX5090 / 32GB / 2TB NVMe! BeszámítOK
- Corsair iCUE ELITE CPU Cooler LCD Display Upgrade Kit
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

.
(+ remelem nem tevedtem nagyot sehol se)


![;]](http://cdn.rios.hu/dl/s/v1.gif)

