Java programiranje
- poruka: 402
- |
- čitano: 193.261
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
Zdravo, da ne pravim novu temu postavit cu ovdje jedno pitanje, u knjizi po kojoj ucim Javu dosao sam do visenitnog programiranja (multithreaded programming) pa me zanima ima li neko iskustva s takvim i da li je pod moranje znati ovo?
Ukratko, da, bitno je. Veoma bitno.
I mislio sam hehe, hvala na odgovoru.
Kako da postavim uslov za preskakanje postih parnih brojeva i da kad stavim break umesto prost=False da ispadnu prosti brojevi
ako npr zelis u nizu preskociti parne brojeve onda to mozes ovako
for(int i:niz){
if((niz[i]%2)==0)
continue;
else
System.out.println("Neparni broj : " +niz[i]);
}
ovo je naravno samo primjer kako preskociti u ovom slucaju ispis parnog broja, ti to iskoristi na koji nacin ti odgovara.
Pozdrav! Trebam pomoć pri debugiranju koda. Trebao bih implementirati "problem pet filozofa" (opis: http://en.wikipedia.org/wiki/Dining_philosophers_problem) koristeći monitore u Javi. Ono što se kod mene događa jest to da se kod izvrši nekoliko puta i onda jednostavno stane kao da je i trebao, iako je namješteno da se vrti u beskonačnoj while petlji. Kod možete naći ovdje: http://www.bytemycode.com/snippets/snippet/4497/. Trebalo bi ispisivati stanja svih filozofa u jednom stupcu svaki put kad pozovemo metodu "ispisStanja", s tim da su oznake za stanja iduće: "X" - jede, "o" - čeka i "O" - razmišlja. Ono što se kod mene događa jest to da svi nasumično jedu, čekaju i razmišljaju (kako i treba), ali odjednom svi prestaju jesti i čekati jelo, pa idu razmišljati i petlja se završi (iako je stavljeno "while(true)").
Nadam se da sam dovoljno jasno razložio problem. Ako nisam, vičite
Evo, da odgovorim sam sebi... ako ikog još zanima kako riješiti ovaj problem, rješenje možete naći na linku:
Ima netko ideju zašto se ovo dogodilo? Pogledajte gdje je ispisan tekst koordinata 350, 150. Ispod točke. Sve ostale, iznad točke.
g.drawString("20, 10", 20, 10);g.drawString("200, 200", 200, 200);
g.drawString("100, 100", 100, 100);
g.drawString("350, 150", 350, 150);
U ovoj temi se pricalo za heads first java knjigu, jel zna netko da li ima kod nas za kupiti negdje?
Moze li mi netko objasniti kako spojiti 3 .java file-a u jedan runnable Jar file?
Koristim Eclipse i imam 3 .java file-a, jedan je Main.java a ostali su nebitni...kada pokrenem Main.java ostala dva se povezu na taj prvi i imam igricu ali kad idem na Export onda mi se samo Main.java exporta i imam samo uvodni ekran
Moze li mi netko objasniti kako spojiti 3 .java file-a u jedan runnable Jar file?
Koristim Eclipse i imam 3 .java file-a, jedan je Main.java a ostali su nebitni...kada pokrenem Main.java ostala dva se povezu na taj prvi i imam igricu ali kad idem na Export onda mi se samo Main.java exporta i imam samo uvodni ekran
Kako mogu biti nebitni, ako bez njih nema ništa osim uvodnog ekrana ??
Imaš 3 java source-a unutar istog projekta ili različitih? Nakon što napraviš jar (pretpostavljam da radiš jar) otvori ga sa winzip(7zip, rar) i provjeri da li ti se unutra nalaze sva tri source-a. Ako se ne nalaze, tada prilikom exporta u jar nemaš odabrani cijeli src direktorij.
Radim prvu aplikaciju u kojoj koristim fxml. I sad trebam spojiti datoteku.
Ta datoteka je u paketu view i zove se RootFXML.fxml
FXMLLoader loader = new FXMLLoader(this.getClass().getResource("view/RootFXML.fxml"));
Pokusaj rjesiti problem sa dodavanjem znaka "/" ispred "view/RootFXML.fxml":
FXMLLoader loader = new FXMLLoader(this.getClass().getResource("/view/RootFXML.fxml"));
Izvor:
Pozdrav.. neki dan sam poceo malo ucit javu iz pdf knjige (java programiranje 1 i 2) u knjigi pise da se koristi 1.4 jdk a ja imam java 1.8 eh sad me zanima dali ima dosta razlike u osnovnim kodovima.. jer npr sad sam stao na 30toj stranici i ima jedan malo veci kod kad ga upisem u netbean dodje mi par error-a tj to je vec drugi.. pa me zanima dali se isplati iz te knjige ucit ili cu samo zabrljati stvari.. ili pricekat neku pdf knjigu za java 1.8 ?
@encyanix
probaj uhvatiti korak s vremenom.
Mislim da nitko više ne programira u Java1.4 ( ako baš mora onda je to slučaj, tipa neki ogromni projekt je pisan u javi 1.4 i slično da se održava i nadogradi sitno, a prelazak je neisplativ financijski i predugo traje npr. ).
Jednostavno zagooglat knjige
tutoriali:
http://thenewboston.org/tutorials.php ( preko 100 videa gdje frajer objašnjava ).
http://www.mkyong.com/ ( dosta dobar i ima basic stvari )
eto to je moje mišljenje :)
Pa nebi trebao 1.8 biti kompaktibilan s 1.4. Zar nije to moto jave (write once run anywhere).
Treba mi neka po mogucnosti hrvatska pdf knjiga koja je kompatibilna sa novom javom.. ak ne bar engleska bitno da je kompatibilna sa novom javom.. i naravno za pocetnike :) Ja sam trazio hrvatske al sve je jako staro..
EDIT: Poceo sa Head first Java 2nd edition.. za sad ide dobro al sam na ovome zapeo.. znaci ovo je gotovi kod koji radi al mene zanima tocno dali netko mi moze objasnit cijelu radnju koda znaci za svaku liniju..
public class Test {
public static void main(String[] args){
int x = 0;
while (x < 4){
System.out.print("a");
if (x < 1){
System.out.print(" ");
}
System.out.print("n");
if (x > 1) {
System.out.print(" oyster ");
x = x + 2;
}
if (x == 1) {
System.out.print(" noys ");
}
if (x < 1) {
System.out.print("oise");
}
System.out.println(" ");
x = x + 1;
}
}
}
Hvala ti.. ovaj while me malo zezao al sam skuzio na kraju..
Postoji li nešto u Javi, slično AJAX-u, ili node.js, sa naglaskom na asinkrono izvršavanje upita/čitanja uz baze? Imam jednu ogromnu aplikaciju, i u 90% user case scenarija, čeka se da se izvrši komunikacija sa bazom. Nisam upoznat sa detaljima trenutno, ali psotam kasnije. Također me zanima postoji li nešto kao auto complete, odnosno da se veliki broj parametra cacheira u temp storage prema određenom uvjetu, kako bi poboljšao UX?
Pozdrav,
treba mi pomoc oko razumevanja koda koji citam iz "Misliti na Javi". Doslo mi je do male konfuzije pa mi treba razresenje da bi razumeo i mogao da nastavim dalje. Zadatak je sa 126-127 str. Zamolio bi nekog ako bi mogao korake da mi objasni. Puno mi se desava prebacivanja tamo-vamo i nisam siguran sta se odigrava.
[code]
class Osoba {
public void pojedi(Jabuka jabuka) { // ovde pravimo metodu sa dva parametra? Ili se Jabuka odnosi sto cemo u main klasi pozvati (new Jabuka());
Jabuka oljustena = jabuka.oljustiSe(); // Sada me ovde zbunjuje, ispadne da Jabuka pristupa klasi Jabuka i poziva metodu oljustiSe()
System.out.println("Mljac");
}
}
class Ljustac {
static Jabuka ljusti(Jabuka jabuka) {
return jabuka;
}
}
class Jabuka {
Jabuka oljustiSe() {
return Ljustac.ljusti(this); // u klasi Ljustac Jabuka je static i zato mozemo da pisemo Ljustac(pristupi klasi Ljustac), this nam govori da pristupi metodi iz ove klase tj. oljustiSe()
}
}
public class ProslediPomocuThis {
public static void main(String[] args) {
new Osoba().pojedi(new Jabuka()); // i sada mi ovde dolazi jos jedna zabuna .pojedi(new Jabuka());
}
}
public void pojedi(Jabuka jabuka) { // ovde pravimo metodu sa dva parametra? Ili se Jabuka odnosi sto cemo u main klasi pozvati (new Jabuka());
Jabuka oljustena = jabuka.oljustiSe(); // Sada me ovde zbunjuje, ispadne da Jabuka pristupa klasi Jabuka i poziva metodu oljustiSe()
Odgovori na brzaka bez puno detalja.
Dakle javna metoda, bez povratne vrijednosti, imena pojedi, prima parametar zvan jabuka, tipa Jabuka (mala velika slova su bitna)
oljustena je varijabla tipa Jabuka. jabuka je objekt tipa Jabuka koji je prosljeđen kao parametar funkciji pojedi, i pozivaš funkciju oljustiSe() tog prosljeđenog objekta
Ta metoda vraća rezultat staticke metode klase Ljustac, a ta staticka metoda vraća objekt tipa Jabuka koji se onda vraća varijabli oljustena.
class Jabuka {
Jabuka oljustiSe() {
return Ljustac.ljusti(this); // u klasi Ljustac Jabuka je static i zato mozemo da pisemo Ljustac(pristupi klasi Ljustac), this nam govori da pristupi metodi iz ove klase tj. oljustiSe()
}
}
U klasi Ljustac metoda ljusti je static što znači da tu metodu možemo pozvati bez da stvaramo objekt tipa Ljustac. (google : java static method)
Ljustac.ljusti(this) znači da objekt koji poziva tu funkciju prosljeđuje njoj samoga sebe kao parametar.
public static void main(String[] args) {
new Osoba().pojedi(new Jabuka()); // i sada mi ovde dolazi jos jedna zabuna .pojedi(new Jabuka());
}
dakle
Kreiraš novi objekt tipa osoba (new Osoba()) i odmah pozivaš na novom objektu metodu pojedi(Jabuka jabuka). A metodi pojedi predaješ jabuku koju isto kreiraš (new Jabuka())
ugrubo
Hvala ti puno na objasnjenju, ovako sam i zamisljao odgovor ali po malo postidjeno moram reci da citam, gledam i jednostavno ne mogu da desifrujem u glavi i da kazem - da kapiram, sve mi je jasno. Kao da gledam u 1+1=2 i ne mogu da shvatim zasto je 2 . Blam je da kazem kolko gledam u zadatak i pokusavam da shvatim.
Napravio sam jedan programčić u Javi u NetBeans programu.
Kod mene sve normalno radi, ali kad to hoću pokrenuti na drugom računalu izbacuje ovu grešku:
http://i.imgur.com/rdMhnpY.png
To sam riješio tako da sam napravio update JDK-a.
E sad, pošto planiram program staviti za download, ne vjerujem da će ga netko koristiti ako će morati skidati tih 150MB za JDK.
Ima li kakav drugi način riješavanja ovog problema od instaliranja JDK-a na računalo?
Lijep pozdrav
Znači napisao si program u Javi, a neznaš ni što je sve potrebno da bi pokrenuo taj svoj program? :D
Ukratko, svako računalo na kojem se želi pokrenuti neki Java program, mora imati instaliran JRE (Java Runtime Environment). Bez toga nikako ne ide.
import java.util.*;
public class House {
public static void main(String[] args) {
int x = 1;
Scanner input = new Scanner(System.in);
do{
try{
System.out.println("Enter first number: ");
int n1 = input.nextInt();
System.out.println("Enter second number: ");
int n2 = input.nextInt();
int devide = n1/n2;
System.out.println("Devide = "+ devide);
x = 2;
}
catch(Exception e){
System.out.println("You made mistake, please try again:");
}
}while(x == 1);
}
}