Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Hea proge JAVA tegemiseks ja JAVA-ga seotud küsimused märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele eelmine  1, 2, 3 ... 10, 11, 12 ... 16, 17, 18  järgmine
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
trv
HV veteran
trv

liitunud: 02.03.2004



Autoriseeritud ID-kaardiga

sõnum 04.12.2008 23:17:07 vasta tsitaadiga

heikis, täpselt nii
_________________
I need a break. I just tried to read 'Oxford' as a hexadecimal.
Kommentaarid: 139 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 126
tagasi üles
vaata kasutaja infot saada privaatsõnum
connor
HV kasutaja

liitunud: 19.02.2003




sõnum 08.12.2008 00:35:52 vasta tsitaadiga

heikis kirjutas:
Spoiler Spoiler Spoiler

error on järgmine:
java.lang.NoSuchMethodError: main
Exception in thread "main"

milles probleem on?
Lisaksin ka täpse vastuse küsimusele:
Java rakendusel peab olema main meetod mille signatuur on public static void main (String[] argumendid). Seetõttu ei saa kasutada main meetodis muud return'i kui tühja (return;), vastasel juhul klass lihtsalt ei kompileeru.
Kommentaarid: 31 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 28
tagasi üles
vaata kasutaja infot saada privaatsõnum
heikis
HV Guru

liitunud: 17.03.2003




sõnum 08.12.2008 20:40:14 vasta tsitaadiga



double x=(40*Math.cos(xy));
int b = x.intValue();
System.out.println(b);



küsimus: miks ei õnnestu mul seda doublet inti konvertida?
error on: Cannot invoke intValue() on the primitive type double

samas selline kood töötab:

Double xxx = (555.33455);            
int b = xxx.intValue();
System.out.println(b);
Kommentaarid: 338 loe/lisa Kasutajad arvavad:  :: 0 :: 4 :: 290
tagasi üles
vaata kasutaja infot saada privaatsõnum
avalanche6
HV vaatleja
avalanche6

liitunud: 06.07.2005



Autoriseeritud ID-kaardiga

sõnum 08.12.2008 20:50:29 vasta tsitaadiga

double on primitive type, tal pole meetodeid. pead kasutama Double classi.
primitive tüübid on int, double, char, float jnejne - kõigil neil on vastav wrapper class Double, Integer, Character..

alternatiivselt võid proovida
int b = (int)(40*Math.cos(xy));
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
guest1902
Kreisi kasutaja
guest1902

liitunud: 05.11.2005




sõnum 31.12.2008 18:18:39 vasta tsitaadiga

Ok, üks Javaga seotud küsimus siis. Hakkasin erinevaid sortimise algoritme katsetama, aga ei saa esimese algoritmiga lõpuni jõuda, kui avastasin järgneva "vea".
Töötab:
java:
  1.  
  2. public class Trallala{
  3.        public static void main(String[] args){
  4.               int x=123, y=456;
  5.               System.out.println("x="+x+"\ty="+y);
  6.               // väljastab: x=123       y=456
  7.               // vahetan väärtused:
  8.               int z=x; x=y; y=z;
  9.               System.out.println("x="+x+"\ty="+y);
  10.               // väljastab: x=456       y=123;
  11.        }
  12. }
  13.  

Ei tööta:
java:
  1.  
  2. public class Trallala{
  3.        public static void main(String[] args){
  4.               int x=123, y=456;
  5.               System.out.println("x="+x+"\ty="+y);
  6.               // väljastab: x=123       y=456
  7.               // vahetan väärtused:
  8.               swap(x, y);
  9.               System.out.println("x="+x+"\ty="+y);
  10.               // väljastab: x=123       y=456
  11.               // wtf nagu???
  12.        }
  13.        static void swap(int i, int j){
  14.               int k=i; i=j; j=k;
  15.        }
  16. }
  17.  

Ei ole varem nii n00bist probleemist jagu saanud, äkki keegi seletaks lahti? icon_redface.gif
P.S. Tegelikult mul katki midagi ei jää, kuid lootsin, et kui teha swap(int a, int b)-meetod, siis saan m[i] ja m[i+1] niimoodi vahetatud. Kuid ei saa.... Seega pean kasutama swap(int[] m, int a int b)-meetodit.
Btw, Mingi hull vahetus on ka järgmine kood (ei viitsi neid klasse jms ümber toppida):
x=x^y;
y=x^y;
x=x^y;
Et siis tegu XOR-vahetusega vms icon_lol.gif. Aga siin samamoodi, kui teha sellest meetod, siis ei funka.
Edit:Ok... Väike järelgoogeldus ja: http://www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.html
Aga sellele mingit ravi pole?
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 31.12.2008 18:29:44 vasta tsitaadiga

Miks sul swapi eraldi meetodina vaja on?
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
guest1902
Kreisi kasutaja
guest1902

liitunud: 05.11.2005




sõnum 31.12.2008 19:01:28 vasta tsitaadiga

DoS, miks mitte?
Edit: http://www.ibm.com/developerworks/java/library/j-passbyval/
Sealt tsitaat:
tsitaat:
So how do you write a method in a Java application to swap the values of two primitive types or two object references? Because a Java application passes all parameters by value, you cannot. To swap the values, you must do so inline, outside of a method call.

Ja nii ongi? Olen läbi lugenud ja töötanud Java for Dummies ja Jüri Kiho progremisaabitsa, ent pointeritest polnud kummaski kirjas icon_confused.gif Hetkel möllan selle Kippari ülesannetega ja pointerit pole siiamaani kohanud. Tundub, et kõik õpitu oleks asjatu...
Aga nüüd pointeritest ja v-o Bruce Eckelit lugema...
Pointeritest võite ise ka midagi selgituseks kirjutada icon_wink.gif
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
axeon
HV vaatleja
axeon

liitunud: 09.05.2003




sõnum 31.12.2008 19:34:48 vasta tsitaadiga

Elrak kirjutas:
Ja nii ongi? Olen läbi lugenud ja töötanud Java for Dummies ja Jüri Kiho progremisaabitsa, ent pointeritest polnud kummaski kirjas icon_confused.gif Hetkel möllan selle Kippari ülesannetega ja pointerit pole siiamaani kohanud. Tundub, et kõik õpitu oleks asjatu...
Aga nüüd pointeritest ja v-o Bruce Eckelit lugema...
Pointeritest võite ise ka midagi selgituseks kirjutada icon_wink.gif

Nii ongi icon_smile.gif Kui tahad meetodis swappida, siis pead oma primitiivid mähkima value objektidesse ja swapis ei mölla viitade vahetamisega vaid kasutad mutaatoreid vms.

Bruce pikalt ei seleta, mainib vaid, et viitadega tuleb maru ettevaatlik olla (4th ed)
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
guest1902
Kreisi kasutaja
guest1902

liitunud: 05.11.2005




sõnum 31.12.2008 19:57:55 vasta tsitaadiga

axeon kirjutas:

vaid kasutad mutaatoreid vms.

Mis loom see veel on? icon_eek.gif
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
axeon
HV vaatleja
axeon

liitunud: 09.05.2003




sõnum 31.12.2008 20:05:30 vasta tsitaadiga

accessor/mutator (getter/setter) meetodid
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
guest1902
Kreisi kasutaja
guest1902

liitunud: 05.11.2005




sõnum 31.12.2008 20:17:33 vasta tsitaadiga

Ok, nüüd enam põhjust muretseda uuemat materjali.
_________________
assumption is the mother of all fuck ups
,,think before you print and save a ROOT::TTree''
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 01.01.2009 01:13:08 vasta tsitaadiga

Elrak kirjutas:
DoS, miks mitte?

Sest ei ole vaja? icon_wink.gif
Ei ole hetkel JDK'd arvutis, nii et ei viitsinud java koodi hakata kirjutama, aga kiirelt tehtuna näiteks pythonis näeks välja midagi sellist:
class Arv():
    value = None
    def __init__(self, value):
        self.value = value
   
    def setValue(self, value):
        self.value = value
           
    def getValue(self):
        return self.value
         
def swap(a, b):
    temp = Arv(b.getValue())
    b.setValue(a.getValue())
    a.setValue(temp.getValue())
   
i = Arv(123)
j = Arv(456)
print i.getValue(), j.getValue()
swap(i,j)
print i.getValue(), j.getValue()


Väljastab siis alguses:
123 456
ja pärast:
456 123

Java kohta on siin mingi näide: http://www.cs.utsa.edu/~wagner/CS2213/swap/swap.html
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
afex
HV kasutaja
afex

liitunud: 28.01.2004




sõnum 01.01.2009 14:03:10 vasta tsitaadiga

http://cs.joensuu.fi/jeliot/
võimaldab visuaalselt jälgida/debugida, mis toimub java programmis.

antud juhul on sinu x ja y main meetodi muutujad, ja kui sa teed meetodis swap mingi väärtuste vahetuse siis sellest ei muutu main meetodi x ja y väärtused.
x ja y tuleks teha staatiliseks klassi muutujaks ja siis saaks nende väärtust muuta mujalt kui main meetodi seest.
Kommentaarid: 36 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 35
tagasi üles
vaata kasutaja infot saada privaatsõnum
heikis
HV Guru

liitunud: 17.03.2003




sõnum 06.01.2009 23:09:31 vasta tsitaadiga

ehk mõni tark inimene oskab mulle seletada, miks järgnevas koodis omandab y väärtuse 9 pärast for tsüklit:


public class ass {
   public static void main(String[] args) {
      
      int x=3;
      int y=13;
        --y;
        
        for(y=1; y<(x*x); y++) {
          System.out.println(y);
        }   
        
        System.out.println("_______ "+y);
   }

}



tulemus on muidu selline:

tsitaat:
1
2
3
4
5
6
7
8
_______ 9
Kommentaarid: 338 loe/lisa Kasutajad arvavad:  :: 0 :: 4 :: 290
tagasi üles
vaata kasutaja infot saada privaatsõnum
connor
HV kasutaja

liitunud: 19.02.2003




sõnum 06.01.2009 23:35:03 vasta tsitaadiga

Lihtsam kuid samaväärne kood oleks
public class Test2 {
   public static void main(String[] args) {
      int y;
      for (y = 1; y < 9; y++) {
         System.out.println(y);
      }
      System.out.println("_______ " + y);
   }
}

Ja 9 trükib lõpuks sest tegevuste järjekord on
1. omistamine (y=1)
2. kontroll (y<9)
3. tsükli sisu (System.out.println(y))
4. suurendamine/vähendamine (y++)
5. kontroll
6. tsükli sisu
7. suurendamine/vähendamine
...
n-1. suurendamine/vähendamine
n. ebaõnnestunud kontroll

Millal siis veel peaks suurendamist/vähendamist tegema kui peale ühte tsükli iteratsiooni ja enne kontrolli?[/code]
Kommentaarid: 31 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 28
tagasi üles
vaata kasutaja infot saada privaatsõnum
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 06.01.2009 23:43:37 vasta tsitaadiga

Põhimõtteliselt on siis see for-tsükkel sama, mis selline while (kui paremini selgitab?):
y = 1;
x = 3;
while(true) {
    if (y < x*x) {
        System.out.println(y);
        y++;
    }
    else {
        break;
    }
}
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
heikis
HV Guru

liitunud: 17.03.2003




sõnum 07.01.2009 00:02:02 vasta tsitaadiga

connor, DoS, aitäh põhjalike seletuste eest. üllatavalt lihtne icon_smile.gif
Kommentaarid: 338 loe/lisa Kasutajad arvavad:  :: 0 :: 4 :: 290
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 07.01.2009 00:27:36 vasta tsitaadiga

Muide, üldiselt on heaks praktikaks tsüklimuutujat (antud juhul y) väljaspool tsüklit mitte kasutada, kuna see raskendab asjatult koodist arusaamist (nagu ka antud juhust oli näha).
_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
heikis
HV Guru

liitunud: 17.03.2003




sõnum 07.01.2009 00:43:18 vasta tsitaadiga

nene kirjutas:
Muide, üldiselt on heaks praktikaks tsüklimuutujat (antud juhul y) väljaspool tsüklit mitte kasutada, kuna see raskendab asjatult koodist arusaamist (nagu ka antud juhust oli näha).


nii ta on. paraku pean õppima ka sellisest koodist aru saama kuna tegu on ühe võimaliku eksamiülesandega (vaja kirjeldada, milliseid väärtuseid saavad eri muutujad, kui lasta koodil joosta)
Kommentaarid: 338 loe/lisa Kasutajad arvavad:  :: 0 :: 4 :: 290
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 21.02.2009 22:17:51 vasta tsitaadiga

Map<Reisija, String> andmebaas = new HashMap<Reisija, String>();

Sinna on topitud hunnik objekte "Reisija", mis on ühtlasi ka Key'deks. Kas on mõni ilus ja lihtne viis, kuidas ma saaksin just selle Stringi, mitte objekti järgi leida vajalikud paarid, ja siis need kustutada?

Iteraator käib juba üle kõigist, aga samal ajal ei saa .remove() teha, sest viskab errori..

Saaksin asja lahendatud nii, et jätaksin iteratori ajal vastavad key'd meelde ja hiljem kustutaksin, aga mõtlen, et äkki on puhtam viis olemas?
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
axeon
HV vaatleja
axeon

liitunud: 09.05.2003




sõnum 22.02.2009 00:05:47 vasta tsitaadiga

Bluebull kirjutas:
Map<Reisija, String> andmebaas = new HashMap<Reisija, String>();

Sinna on topitud hunnik objekte "Reisija", mis on ühtlasi ka Key'deks. Kas on mõni ilus ja lihtne viis, kuidas ma saaksin just selle Stringi, mitte objekti järgi leida vajalikud paarid, ja siis need kustutada?
Iteraator käib juba üle kõigist, aga samal ajal ei saa .remove() teha, sest viskab errori..

Tavaliselt otsitakse/sorditakse "key" alusel. Kui kasutad mapi iteraatorit ja selle remove meetodit, ei tohiks sa üldjuhul tala saada
java:
  1. String search = "whatever";
  2.         for (Iterator it = map.values().iterator(); it.hasNext();) {
  3.            if (search.equals(it.next())) {
  4.                 it.remove();
  5.                 break;
  6.             }
  7.         }
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 04.05.2009 20:14:52 vasta tsitaadiga

Tänud, see lasi remove() kasutada.
---
Ei leidnud sellist teemat, kus küsida loogika kohta.

Nimelt ehitan javas praegu ühte klassi, mis peaks suutma pildilt tunda ära inimesed. St just inimeste näod.

Aga sellise algoritmi valmistamine on üllatavalt raske, arvestades, et nägu võib olla suunatud igas suunas, ükskõik kui kaugel ja näo värvus sõltub liiga suurel määral ümbritsevast valgusest, et seda saaks selle põhjal tuvastada.

Spoiler Spoiler Spoiler


Piksel haaval seega ei anna pilti kuidagi analüüsida. Mõtlesin progeda mingisugused Area objektid, mis sisaldavad hulga piksleid, ja siis selle põhjal arvutada mingisuguseid keskmisi välja. (Saaks võibolla kasutada, et leida esiteks võimalik nägu(Mingi kollaka-roosaka värvi järgi), kontrollida silmaauke ja suud kui tumedamaid alasid võimaliku näo piirkonnas).

On kellelgi pilditöötlusega äkki kogemusi ja oskab midagi paremat välja pakkuda?

_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
arvutisõber
HV veteran
arvutisõber

liitunud: 01.08.2002




sõnum 13.06.2009 14:28:57 vasta tsitaadiga

Xenoage JEStart
http://sourceforge.net/project/showfiles.php?group_id=134803

Genereerib jar-st exe (väga palju settinguid ja võimalus muuta error messageid).

_________________
...
Kommentaarid: 55 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 53
tagasi üles
vaata kasutaja infot saada privaatsõnum
Deadlock
Kreisi kasutaja

liitunud: 16.07.2004




sõnum 05.09.2009 18:50:34 vasta tsitaadiga

Kas applet ei saagi teiste lehtede source kätte?

"Web Server: When a Java VM runs a Java applet from a web server, the Java applet is authorized to access any file on the web server that the applet came from, but the applet can not access any file on another web server or any file on the local file system (your PC). "

Arvutist nagu kõik töötab, aga kui üles laen, siis ei saa enam midagi kätte... On äkki siiski mõni võimalus, kuidas suvalise http:// lehe source kätte saada?

_________________
"Believe you can, believe you can't; either way, you're right." - Henry Ford
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 08.09.2009 17:18:34 vasta tsitaadiga

Bluebull kirjutas:
Kas applet ei saagi teiste lehtede source kätte?

"Web Server: When a Java VM runs a Java applet from a web server, the Java applet is authorized to access any file on the web server that the applet came from, but the applet can not access any file on another web server or any file on the local file system (your PC). "

Arvutist nagu kõik töötab, aga kui üles laen, siis ei saa enam midagi kätte... On äkki siiski mõni võimalus, kuidas suvalise http:// lehe source kätte saada?

ma nüüd panen peast, sest ma ei viitsi googeldama hakata.. aga kas siin ei olnud ka mingi teema, et juhul, kui sa oma appleti ära signeerid, siis on sul võimalik küsida koodis suuremaid õigusi oma appletile, muuhulgas ka siis laia maailma kolama minemiseks, aga sellisel juhul peab kasutaja sellega nõustuma, ehk siis küsitakse kasutajalt mingis dialoogis luba..

Mida sa üldse saavutada üritad oma appletiga? Üks võimalus muidugi suvalist lehte appletti tirida võiks olla midagi sellist, et sa istutad appletiga samasse serverisse mingi php skripti näiteks, mis suvalise URLi sisu su appletile striimib. Siis vähemalt ei kisa applet.

_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Hea proge JAVA tegemiseks ja JAVA-ga seotud küsimused mine lehele eelmine  1, 2, 3 ... 10, 11, 12 ... 16, 17, 18  järgmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.