Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

java, vim, fltk

Som titeln nämner så har dessa ämnen varit centrala för mig nu på sistone. Vad gäller java så är det fortfarande ingen som lyckats förklara för mig hur man skriver om följande funktion i java:

void swap(int &a, int &b)
{
    int x = a;
    a = b;
    b = x;
}

Jag tycker att det måste gå på nått sätt, tyvärr var det inget som min handlare kunde svara på.

Jag läser java-programmering nu, och där har vi inlämningsuppgifter. Att sätta sig ner med någon annan och gå igenom programmet man skrivit rad för rad, att bli kritiserad, få skriva om eller ibland få beröm för den kod man skrivit är något helt nytt för mig. Jag vet inte om det gjort mig till en bättre programmerare än, men jag har i alla fall lärt mig att kommenterar koden väldigt bra. Det är dessutom en väldig lyx att kunna gå igenom sin kod med någon annan. Även om jag måste säga att det fortfarande känns ovant.

När jag skriver sånna här inlägg använder jag mozex-pluginet för firefox. Det är väldigt bra, för att jag kan skriva i min favorittexteditor. I vanliga fall är jag bara nöjd med att få alla kortkommandon jag är van vid men igår hände nått otroligt. Linux hängde sig, eller i alla fall den xterm jag arbetade med mitt inlägg i. Som tur är har min texteditor en underbar backup funktion som gör att jag inte förlorade någon data alls. Underbart! Jag råder alla som skriver inlägg, bloggar och wiki artiklar att ta en titt på mozex och använda sig av en bra texteditor när de skriver sina inlägg.

Sist måste jag nämna några ord om fltk. Det grafiska bibliotek som jag använder till mina program. Utvecklarna har dragit tillbaka sitt stöd för att kors-kompilera fltk under linux till win32. Rent teoretiskt så ska det gå, men det gör det inte. Så nu måste jag själv sitta och modifiera fltk för att jag ska kunna få mina windowsbinärer (för vem gillar att låsa sig till en plattform? bara för att jag inte använder windows betyder det inte att någon annan inte gör det). Surt!

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

mernils bild

Du vill bubbelsortera förmodar jag? Här är en länk med lite medföljande kod. Kolla på metoden swap().
________________________________________
Surrounded by mercy, protected by prayer

uffe_nordholms bild

Din swap() fungerar inte, och jag skall försöka förklara.

Anta för enkelhetens skull att du skickar värden a=1 och b=5.
På rad 3 deklarerar du en variabel x som får värdet 1.
På rad 4 får a värdet av b (5). Då har både a och b värdet 5.
På rad 5 får b värdet av a (5).

Om du ändrar så att b, på rad 5, får värdet av x skall det fungera.
Jag misstänker att du skickar pekare istället för värden, men det spelar ingen större roll för min förklaring.

iveqys bild

nej, jag vill bara lära mig mer om referenser i java... men bubbelsortering håller jag också på med. Tack så mycket ska kolla igenom det nu.

iveqys bild

tack, ett typo bara. Jag har ändrat det nu så att det ska vara rätt. Hade det varit C så hade jag behövt skicka pekare. I detta fallet är det c++, då skickar jag värderna men tar emot pekarna (om man nu kan förklara det så). Frågan är hur man gör i java...

jonasbjorks bild

Det du gör i C kallas call-by-reference och finns inte i Java. I Java kan du enbart göra call-by-value. En lösning kanske skulle kunna vara att du returnerar en array som du sedan plockar ut värderna från.

Parameter passing in Java kanske kan vara till hjälp.

--
SUSE Linux
Jonas Björk - like.no.other

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

Kristians bild

Två lösningar: Skapa ett Integer-objekt (objekt används med referenser) eller så får du som redan nämnts lägga dem i en array (som är en referens) och returera denna - java har inte pekare!

Java kör i motsats till C på filosofin "Don't trust the programmer", Java håller dig i handen och ber dig blunda i mörka skogen - men då missar man också mycket skoj bland tomtar och troll Wink

---------------------------------------