FOK!forum / Digital Corner / [Java] voor dummies - deel 1
Crutchzaterdag 6 maart 2010 @ 12:55

cd niet bijgeleverd

Als je vragen hebt over JAVA, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt

Vorige delen:

-geen-


Handige links:

Referentie en Tutorials:
  • De weg naar Java
  • Eclipse And Java: download en documentatie
  • Eclipse (IDE) and Java Video Tutorials
  • JCreator (IDE)

    Java:
  • Java Development Kit (JDK)versie 1.6 jdk-6u18-windows-i586.exe

  • Java API Documentation jdk-6-doc.zip Installeren in dezelfde directory als de JDK, bijvoorbeeld: C:\..\jdk1.6.0\

    Tot slot de schrijver van Java For Dummies, Barry Burd ook daar vind je een hoop nuttige informatie over Java.

    Als het goed is maakt een lief modje dit topic even centraal

    Deze OP vind je hier. Mocht er weer een nieuwe versie van Java/JDK etc. beschikbaar zijn, pas dat dan even aan bij het opstellen van een nieuw topic
  • Lightzaterdag 6 maart 2010 @ 13:00
    Interessant topic
    Crutchzaterdag 6 maart 2010 @ 13:01
    quote:
    Op zaterdag 6 maart 2010 13:00 schreef Light het volgende:
    Interessant topic
    Dank, ik ben alvast een vraag aan het voorbereiden.
    Crutchzaterdag 6 maart 2010 @ 13:14
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    class NogEenKeer {
        
        public static 
    void nogKeertje() {
            
    String jaOfNee;
            
            
    System.out.print("Wil je nog een keertje? j/n: ");
            
    Scanner jaNee = new Scanner(System.in);
            
    jaOfNee jaNee.nextLine();
        
            if (
    jaOfNee == "j") {
                
    RaadMaar.eersteKeer();
            } else {
                
    System.out.println("Joh!");
            }
        }
        
    }
    ?>


    Let niet op de PHP-tags; het is Java, maar de highlighting maakt 't net wat duidelijker.

    Mijn vraag:

    Waarom is het voert ie toch de else clause uit ipv de if terwijl het antwoord "j" is. Als ik System.out.print(jaOfNee); doe dan print ie wel "j"?
    Intrepidityzaterdag 6 maart 2010 @ 13:14
    TVP, en complimenten voor de puike OP
    Crutchzaterdag 6 maart 2010 @ 13:23
    quote:
    Op zaterdag 6 maart 2010 13:14 schreef Intrepidity het volgende:
    TVP, en complimenten voor de puike OP
    Dank.

    Ik heb het al opgelost dankzij Barry Burd:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    class NogEenKeer {
        
        public static 
    void nogKeertje() {
            
    char jaOfNee;
            
            
    System.out.print("Wil je nog een keertje? j/n: ");
            
    Scanner jaNee = new Scanner(System.in);
            
    jaOfNee jaNee.findWithinHorizon(".",0).charAt(0);
        
            if (
    jaOfNee == 'j') {
                
    RaadMaar.eersteKeer();
            } else {
                
    System.out.println("Joh!");
            }
        }
        
    }
    ?>


    Sinds versie 6 werkte de vorige niet meer (was een BUG).
    Thomasszaterdag 6 maart 2010 @ 13:25
    quote:
    Op zaterdag 6 maart 2010 13:23 schreef Crutch het volgende:

    [..]

    Dank.

    Ik heb het al opgelost dankzij Barry Burd:
    [ code verwijderd ]

    Sinds versie 6 werkte de vorige niet meer (was een BUG).
    Protip: strings vergelijken doe je beter met .equals(). Als je dit jezelf aanleert in een vroeg stadium kan het je uren aan debugging schelen.
    TwenteFCzaterdag 6 maart 2010 @ 13:27
    TVP, ben nog niet super goed met Java en heb binnen kort een paar Java/SQL vragen
    Crutchzaterdag 6 maart 2010 @ 13:38
    quote:
    Op zaterdag 6 maart 2010 13:25 schreef Thomass het volgende:

    [..]

    Protip: strings vergelijken doe je beter met .equals(). Als je dit jezelf aanleert in een vroeg stadium kan het je uren aan debugging schelen.
    BETER!!!!!!!!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    class NogEenKeer {
        
        public static 
    void nogKeertje() {
            
    String jaOfNee;
            
            
    System.out.print("Wil je nog een keertje? ja/nee: ");
            
    Scanner jaNee = new Scanner(System.in);
        
    //    jaOfNee = jaNee.findWithinHorizon(".",0).charAt(0);
            
    jaOfNee jaNee.nextLine();
        
            if (
    jaOfNee.equals("ja")) {
                
    RaadMaar.eersteKeer();
            } else {
                
    System.out.println("Joh!");
            }
        }
        
    }
    ?>


    Zo kan ik dus gewoon hele strings vergelijken! Dank u.
    Ik merk trouwens dat ik het allemaal sneller begrijp. Heb pas eergisteren een boek Java opengeslagen.

    [ Bericht 2% gewijzigd door Crutch op 06-03-2010 13:48:13 ]
    Trollface.zaterdag 6 maart 2010 @ 13:47
    Vaste kliek? Welke vaste kliek?
    * Trollface. denkt eraan om C/C++ voor dummies aan te maken....

    Tevens TVP
    Crutchzaterdag 6 maart 2010 @ 13:50
    quote:
    Op zaterdag 6 maart 2010 13:47 schreef Trollface. het volgende:
    Vaste kliek? Welke vaste kliek?
    * Trollface. denkt eraan om C/C++ voor dummies aan te maken....

    Tevens TVP
    Nou, welkom bij de vaste kliek (het begint toch ergens)

    Sowieso is C/C++/C#/ de rest van het alfabet geen slecht idee. Het is namelijk nogal rustig in DEV.
    Intrepidityzaterdag 6 maart 2010 @ 13:58
    quote:
    Op zaterdag 6 maart 2010 13:38 schreef Crutch het volgende:

    [..]

    BETER!!!!!!!!
    [ code verwijderd ]

    Zo kan ik dus gewoon hele strings vergelijken! _O_ Dank u.
    Ik merk trouwens dat ik het allemaal sneller begrijp. Heb pas eergisteren een boek Java opengeslagen. :7
    Ik ben geen java expert, maar ik vermoed dat je fout kwam omdat je 2 objecten met elkaar probeert te vergelijken. En ookal zijn de 2 strings qua inhoud identiek, de objecten zijn alsnog verschillend (verwijzen naar een andere geheugenlocatie, etc.) :) .equals() kijkt echt naar de inhoud van het object.
    Als je doet:
    1
    2
    User jan = new User(22); // 22 jaar
    User piet = new User(22); // ook 22 jaar

    Dan zal jan == piet altijd false opleveren. De waarden zijn dan wel gelijk, maar het zijn verschillende objecten. jan.equals(piet) zal true opleveren :)
    Trollface.zaterdag 6 maart 2010 @ 14:04
    quote:
    Op zaterdag 6 maart 2010 13:50 schreef Crutch het volgende:

    [..]

    Nou, welkom bij de vaste kliek (het begint toch ergens)

    Sowieso is C/C++/C#/ de rest van het alfabet geen slecht idee. Het is namelijk nogal rustig in DEV.
    Ik maak later op de dag wel een C/C++ voor dummies aan en thanks
    Tarabasszaterdag 6 maart 2010 @ 14:05
    Tvp
    Crutchzaterdag 6 maart 2010 @ 14:07
    quote:
    Op zaterdag 6 maart 2010 14:04 schreef Trollface. het volgende:

    [..]

    Ik maak later op de dag wel een C/C++ voor dummies aan en thanks
    Goed initiatief. Kan ik Visual Studio alvast gaan installeren of raad je me iets anders aan?
    Intrepidityzaterdag 6 maart 2010 @ 14:12
    Misschien maak ik vanmiddag nog even een topic Eniac programmeren met ponskaarten voor dummies aan
    Crutchzaterdag 6 maart 2010 @ 14:14
    quote:
    Op zaterdag 6 maart 2010 14:12 schreef Intrepidity het volgende:
    Misschien maak ik vanmiddag nog even een topic Eniac programmeren met ponskaarten voor dummies aan
    Heb jij nog wat buizen over?
    Trollface.zaterdag 6 maart 2010 @ 14:15
    quote:
    Op zaterdag 6 maart 2010 14:07 schreef Crutch het volgende:

    [..]

    Goed initiatief. Kan ik Visual Studio alvast gaan installeren of raad je me iets anders aan?
    Als je specifiek voor Windows wilt gaan devven is VS een must. Wil je echter cross-platform gaan doen, dan kun je beter een andere IDE pakken. Code:: Blocks is imo een aanrader, albeit redelijk lang niet meer geupdatet. Dev-C++ is ook een erg goede. Eclipse en Netbeans zijn ook kandidaten, maar meer op Java gericht.
    Jo0Lzzaterdag 6 maart 2010 @ 14:46
    quote:
    Als het goed is maakt een lief modje dit topic even centraal
    Done.
    Intrepidityzaterdag 6 maart 2010 @ 15:12
    quote:
    Op zaterdag 6 maart 2010 14:14 schreef Crutch het volgende:

    [..]

    Heb jij nog wat buizen over?
    Ik heb er nog 1, maar daar zit een bug in
    SinofEnvyzaterdag 6 maart 2010 @ 19:56
    tvp. Ben wel redelijk in Java, dus zal wel wat vragen kunnen beantwoorden, en zal er ook waarschijnlijk nog wat stellen.
    cablegunmasterzaterdag 6 maart 2010 @ 20:41
    tvp Java is een redelijk pakkie voor mij OO programeren thema gehad
    Fortitudezaterdag 6 maart 2010 @ 21:12
    quote:
    Op zaterdag 6 maart 2010 13:38 schreef Crutch het volgende:

    [..]

    BETER!!!!!!!!
    [ code verwijderd ]

    Zo kan ik dus gewoon hele strings vergelijken! Dank u.
    Ik merk trouwens dat ik het allemaal sneller begrijp. Heb pas eergisteren een boek Java opengeslagen.
    Je kan beter een boolean gebruiken inplek van een String.

    http://en.wikipedia.org/wiki/Boolean_data_type

    if (BooleanNaam == true)

    is daarbij hetzelfde als

    If (BooleanNaam )
    Lightzaterdag 6 maart 2010 @ 22:45
    quote:
    Op zaterdag 6 maart 2010 21:12 schreef Fortitude het volgende:

    [..]

    Je kan beter een boolean gebruiken inplek van een String.

    http://en.wikipedia.org/wiki/Boolean_data_type

    if (BooleanNaam == true)

    is daarbij hetzelfde als

    If (BooleanNaam )
    Dat ligt er natuurlijk aan wat je aan het doen bent. User input is een String, geen Boolean. En de equals-methode levert een boolean op.
    Crutchzaterdag 6 maart 2010 @ 22:51
    quote:
    Op zaterdag 6 maart 2010 22:45 schreef Light het volgende:

    [..]

    Dat ligt er natuurlijk aan wat je aan het doen bent. User input is een String, geen Boolean. En de equals-methode levert een boolean op.
    Klopt, mijn derde voorbeeld was om te laten zien dat je dus een hele string kan vergelijken, in een ja/nee-vraag is dat normaalgesproken natuurlijk wat omslachtig.
    cablegunmasterzaterdag 6 maart 2010 @ 22:55
    quote:
    Op zaterdag 6 maart 2010 22:51 schreef Crutch het volgende:

    [..]

    Klopt, mijn derde voorbeeld was om te laten zien dat je dus een hele string kan vergelijken, in een ja/nee-vraag is dat normaalgesproken natuurlijk wat omslachtig.
    nou ik vind het als je niet nog een keer wilt dan type je nee in is het alsnog ja met een boolean type
    je zal toch moeten weten of er ja of nee inzit .
    Tarabasszondag 7 maart 2010 @ 11:47
    Wie weet er een goeie uitleg voor het gebruik van maven (eventueel icm gwt)?
    CubicXzondag 7 maart 2010 @ 12:39
    Al een tijdje bezig met Java (voor studie), maar het is nogsteeds vrij lastig...komt door gebrek aan ervaring, maar ik weet niet zogoed hoe ik dat moet opdoen .

    Heb verschillende boeken, zoals: Introduction to java Programming: Comprehensive Edition (Liang) & OO-BlueJ & Operating Systems Concepts with Java.

    Dit topic dus maar in de gaten houden .
    Crutchzondag 7 maart 2010 @ 13:44
    Nu heb ik ongeveer 4 dagen Java-kennis.
    Wil wie er voor mij even een (basic command line) programmaatje verzinnen om te oefenen?
    Ik heb al iets gemaakt om nummers te raden dus die valt af.

    Fortitudezondag 7 maart 2010 @ 14:08
    quote:
    Op zondag 7 maart 2010 13:44 schreef Crutch het volgende:
    Nu heb ik ongeveer 4 dagen Java-kennis.
    Wil wie er voor mij even een (basic command line) programmaatje verzinnen om te oefenen?
    Ik heb al iets gemaakt om nummers te raden dus die valt af.


    Ik zou gewoon iets praktisch proberen te maken. Command line programma dat dingen wegschrijft en ophaalt uit een database ofzo.

    Waarom trouwens Java en niet C#.NET? Zit jij op een PC met windows?
    Crutchzondag 7 maart 2010 @ 14:16
    quote:
    Op zondag 7 maart 2010 14:08 schreef Fortitude het volgende:

    [..]

    Ik zou gewoon iets praktisch proberen te maken. Command line programma dat dingen wegschrijft en ophaalt uit een database ofzo.

    Waarom trouwens Java en niet C#.NET? Zit jij op een PC met windows?
    Omdat ik me niet wil beperken tot alleen Windows. Ik zit op een Windows PC, heb ook een Mac, maar die gebruik ik veelal voor mijn werk (video-editing en compositing).
    Fortitudezondag 7 maart 2010 @ 14:19
    quote:
    Op zondag 7 maart 2010 14:16 schreef Crutch het volgende:

    [..]

    Omdat ik me niet wil beperken tot alleen Windows. Ik zit op een Windows PC, heb ook een Mac, maar die gebruik ik veelal voor mijn werk (video-editing en compositing).
    Ok ja dan is Java inderdaad de betere keuze. Java is wel ook wel goed dat niet C#.NET geeft je standaard alleen een completer pakket. Windows Forms enzo. Bij java is dat meer een loshangend geheel., maar ze zijn er wel.
    Crutchzondag 7 maart 2010 @ 14:24
    Okay even het volgende:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    import java
    .util.Scanner;
    import java.io.IOException;
    class 
    IHopeYouKnowWhatYoureDoing {
    public static 
    void main(String args[])
    throws IOException {
        
    Scanner myScanner = new Scanner(System.in);
        
    String reply;
            do {
                
    System.out.print("Reply with Y or N...");
                
    System.out.print(" Delete all .rommel files? ");
                
    reply myScanner.next();
                } while (!
    reply.equals("Y") && !reply.equals("N"));
                    if (
    reply.equals("Y")) {
                    
    Runtime.getRuntime().exec("cmd /C del *.rommel"); 
                    
                    }
            }


    }
    ?>


    (let niet op de PHP-tags)

    Hij delete de .rommel file niet
    Het bestand staat gewoon in hetzelfde pad, maar krijg ook geen error...
    Intrepidityzondag 7 maart 2010 @ 15:01
    Je while klopt niet helemaal denk ik.. Je wilt gaan deleten als reply ongelijk is aan Y én ongelijk is aan N. Oftewel hij voert die while uit zolang je iets anders invult als Y of N. En vervolgens vul je in die while alleen delete uit als de invoer gelijk is aan Y, wat dus nooit het geval is.
    Intrepidityzondag 7 maart 2010 @ 15:03
    quote:
    Op zondag 7 maart 2010 14:19 schreef Fortitude het volgende:

    [..]

    Ok ja dan is Java inderdaad de betere keuze. Java is wel ook wel goed dat niet C#.NET geeft je standaard alleen een completer pakket. Windows Forms enzo. Bij java is dat meer een loshangend geheel., maar ze zijn er wel.
    Oneens, met Swing en dergelijke kun je minstens net zoveel als met WinForms. Het is alleen universeler en vraagt daarom ook om iets meer configuratie als een sleur-en-pleur WinForm, maar ook daar bestaan weer bepaalde oplossingen van derden voor. Dat je bij Swing alles zelf moet regelen ervaar ik eerder als een pluspunt eerlijk gezegd.
    eleusiszondag 7 maart 2010 @ 15:10
    Ik heb niks tegen Swing layouts, maar wenste wel dat Eclipse een goede RAD-tool ervoor had.
    Crutchzondag 7 maart 2010 @ 15:16
    quote:
    Op zondag 7 maart 2010 15:01 schreef Intrepidity het volgende:
    Je while klopt niet helemaal denk ik.. Je wilt gaan deleten als reply ongelijk is aan Y én ongelijk is aan N. Oftewel hij voert die while uit zolang je iets anders invult als Y of N. En vervolgens vul je in die while alleen delete uit als de invoer gelijk is aan Y, wat dus nooit het geval is.
    Nee 't is een do <=> while, dus eigenlijk staat er:

    Zolang er niet met Y of N wordt geantwoord moet je om een input blijven vragen.
    Fortitudezondag 7 maart 2010 @ 15:19
    quote:
    Op zondag 7 maart 2010 15:03 schreef Intrepidity het volgende:

    [..]

    Oneens, met Swing en dergelijke kun je minstens net zoveel als met WinForms. Het is alleen universeler en vraagt daarom ook om iets meer configuratie als een sleur-en-pleur WinForm, maar ook daar bestaan weer bepaalde oplossingen van derden voor. Dat je bij Swing alles zelf moet regelen ervaar ik eerder als een pluspunt eerlijk gezegd.
    Dat sleur en pleur standaard in Visual Studio is wel dergelijk een voordeel voor beginners. En een Swing form heeft duidelijk zijn eigen look. Waar windows forms vertrouwelijker er uit zien voor de meeste gebruikers.

    Maar dat het windows only is wel degelijk een nadeel ja. Ok je hebt mono maar dat vind ik niet een goed alternatief.
    Intrepidityzondag 7 maart 2010 @ 15:37
    quote:
    Op zondag 7 maart 2010 15:16 schreef Crutch het volgende:

    [..]

    Nee 't is een do <=> while, dus eigenlijk staat er:

    Zolang er niet met Y of N wordt geantwoord moet je om een input blijven vragen.
    Whoops, de inspringing bracht me even in de war, excuus
    Crutchzondag 7 maart 2010 @ 23:25
    1
    2
    3
    4
    5
    Berekenen berekening = new Berekenen();
             oplossing = berekening.standaard(invoer);
             Double doubleWaarde = new Double(oplossing);
             int intwaarde = doubleWaarde.intValue();
             out.println(intwaarde);  


    Okay ik heb ergens een class Berekenen met verschillende methodes.
    Voor deze oplossing roep ik berekening standaard(invoer); aan. Deze returnt netjes de oplossing, maar ik wil er weer een integer van maken, na de berekening wordt de oplossing namelijk een double.
    Dat doe ik dus met .intValue, maar het probleem is dat het getal niet naarboven wordt afgerond.
    Hoe doe ik dat?
    Lightzondag 7 maart 2010 @ 23:37
    quote:
    Op zondag 7 maart 2010 23:25 schreef Crutch het volgende:

    [ code verwijderd ]

    Okay ik heb ergens een class Berekenen met verschillende methodes.
    Voor deze oplossing roep ik berekening standaard(invoer); aan. Deze returnt netjes de oplossing, maar ik wil er weer een integer van maken, na de berekening wordt de oplossing namelijk een double.
    Dat doe ik dus met .intValue, maar het probleem is dat het getal niet naarboven wordt afgerond.
    Hoe doe ik dat?
    Dat kan met Math.round(), daarmee kun je een long maken van een double en een int van een float.
    Crutchzondag 7 maart 2010 @ 23:47
    quote:
    Op zondag 7 maart 2010 23:37 schreef Light het volgende:

    [..]

    Dat kan met Math.round(), daarmee kun je een long maken van een double en een int van een float.
    Thanks, hij doet het.
    1
    2
     long longWaarde =  Math.round(oplossing);
             out.println(longWaarde);  

    Roratavrijdag 12 maart 2010 @ 19:08
    java is leuk, tvp
    Diaboxmaandag 15 maart 2010 @ 15:19
    tvp
    SinofEnvymaandag 15 maart 2010 @ 15:23
    quote:
    Op maandag 15 maart 2010 15:19 schreef Diabox het volgende:
    tvp
    Jij mag hier niet tvp'en, ga eens heel snel terug naar KLB.
    Diaboxdinsdag 16 maart 2010 @ 00:21
    quote:
    Op maandag 15 maart 2010 15:23 schreef SinofEnvy het volgende:

    [..]

    Jij mag hier niet tvp'en, ga eens heel snel terug naar KLB.
    TwenteFCdinsdag 16 maart 2010 @ 18:52
    Ik ben een beetje met java aan het kutten, maar hoe ik een tabblad toevoegen aan een tabbedpane?
    Tarabassdinsdag 16 maart 2010 @ 19:20
    quote:
    Op dinsdag 16 maart 2010 18:52 schreef TwenteFC het volgende:
    Ik ben een beetje met java aan het kutten, maar hoe ik een tabblad toevoegen aan een tabbedpane?
    Addtab lol

    http://java.sun.com/docs/(...)ents/tabbedpane.html

    http://www.google.com/search?q=tabbedpane+add+tab+java&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
    cablegunmasterdinsdag 16 maart 2010 @ 22:11
    ik zit nu Operating system concepts with Java door te nemen een pittig boek.
    mijn basiskennis is namelijk Objects first with Java A practical introduction using BlueJ

    Mijn advies voor ieder hier begin met Eclipse . Handige editor vult automatisch aan als methodes al bestaan.

    *gaat verder met zijn philosophers dining probleem *
    Crutchdinsdag 16 maart 2010 @ 23:47
    quote:
    Op dinsdag 16 maart 2010 22:11 schreef cablegunmaster het volgende:
    ik zit nu Operating system concepts with Java door te nemen een pittig boek.
    mijn basiskennis is namelijk Objects first with Java A practical introduction using BlueJ

    Mijn advies voor ieder hier begin met Eclipse . Handige editor vult automatisch aan als methodes al bestaan.

    *gaat verder met zijn philosophers dining probleem *
    Ik klooi met JCreator Pro en Eclipse op Windows en Netbeans op Mac. Allemaal prima, maar JCreator is toch echt mijn favoriet.
    TwenteFCzaterdag 20 maart 2010 @ 12:49
    Is er in java ook een soort van Datagrid functie net zoals in C#?
    JTabel heb ik al gevonden, maar dit is het volgens mij net niet.
    Diaboxzaterdag 20 maart 2010 @ 15:51
    http://www.zfqjava.com/docs/datagrid/datagrid.html ???
    TwenteFCzondag 21 maart 2010 @ 20:14
    Met alle respect, maar ik ga er niet voor betalen.
    Het is slechts voor een school projectje.
    cablegunmastermaandag 22 maart 2010 @ 00:49
    quote:
    Op zondag 21 maart 2010 20:14 schreef TwenteFC het volgende:
    Met alle respect, maar ik ga er niet voor betalen.
    Het is slechts voor een school projectje.
    FF de api afzoeken , intikken in google: Jdatagrid api en meteen 1ehit.


    http://www.zfqjava.com/docs/api/com/zfqjava/swing/JDataGrid.html
    TwenteFCmaandag 22 maart 2010 @ 21:55
    Iemand misschien een suggestie voor een mooie simpele database applicatie die ik kan maken?
    Ik kan helaas niets verzinnen om met java/mysql te oefenen.
    Diaboxmaandag 22 maart 2010 @ 22:24
    Een banking enterprise.

    Of muziek indexeren.

    Edit: spelfout.

    [ Bericht 30% gewijzigd door Diabox op 23-03-2010 20:14:32 ]
    TwenteFCmaandag 22 maart 2010 @ 23:12
    Ik heb het echt over een kleuter applicatie als bijvoorbeeld een Telefoonboek of een foto album .

    Deze dingen zijn echter al gekozen bij ons op school, wil ook niet echt iemand na-apen.
    CubicXdinsdag 23 maart 2010 @ 09:12
    Een bezorgapplicatie. Bestellingen kan je dan plaatsen door middel van je Java applicatie, deze moeten natuurlijk wel in de database opgeslagen/bewerkt worden (bestelde artikelen ophogen, technische voorraad omlaag, ect).
    SinofEnvydinsdag 23 maart 2010 @ 12:46
    quote:
    Op maandag 22 maart 2010 22:24 schreef Diabox het volgende:
    Een banking enterprise.
    HAHAHA.
    Tarabassdinsdag 23 maart 2010 @ 17:49
    Relatiebeheersysteempje, vliegtuigboekingen, dvdcollector, huishoudboekje..
    TwenteFCdinsdag 23 maart 2010 @ 19:52
    quote:
    Op dinsdag 23 maart 2010 17:49 schreef Tarabass het volgende:
    Relatiebeheersysteempje, vliegtuigboekingen, dvdcollector, huishoudboekje..
    Muziek indexeren, dat lijkt me wel een goede.
    Dankje
    SinofEnvydinsdag 23 maart 2010 @ 20:13
    Die... stond er niet eens tussen?
    Diaboxdinsdag 23 maart 2010 @ 20:14
    quote:
    Op dinsdag 23 maart 2010 20:13 schreef SinofEnvy het volgende:
    Die... stond er niet eens tussen?
    Wel in mijn post.
    SinofEnvydinsdag 23 maart 2010 @ 20:15
    Omg inderdaad ik zie het wow dat was zo pro van je dat je dat bedacht en die stommerd bedankt je niet eens!!!1
    Diaboxdinsdag 23 maart 2010 @ 20:16
    Inderdaad.
    TwenteFCdinsdag 23 maart 2010 @ 20:21
    Ik vond hem ook echt geniaal
    SinofEnvydinsdag 23 maart 2010 @ 20:22
    En je bedankt Diabox niet eens?
    TwenteFCdinsdag 23 maart 2010 @ 20:23
    Hee Diabox bedankt he, als je keer langs komt drinken we er een.
    Diaboxdinsdag 23 maart 2010 @ 22:00
    BEN JE NU TE LAAT MEE
    Deeltjesversnellerdonderdag 27 mei 2010 @ 14:42
    Hoe lang zou het duren voor iemand die praktisch nieuw is met programmeren, om een programma te maken met verschillende velden en opties die doorgestuurd moeten worden naar email bijvoorbeeld. soort van aanmeldingsformulier wat ook in PHP/HTML zou kunnen?

    Klinkt niet echt lastig, maar wellicht dat het in Java wat lastiger gaat dan als website script?
    Crutchdonderdag 27 mei 2010 @ 14:46
    Hangt van je eigen motivatie en snelheid af.
    Als je echt intensief studeert ben je met een maand al een heel eind.
    Deeltjesversnellerdonderdag 27 mei 2010 @ 14:49
    Tijd genoeg in principe. Heb ooit wel eens het een en ander gelezen maar nooit echt serieus mee begonnen.. in september begint mijn HBO informatica opleiding maar da's al te laat eigenlijk.

    Ik heb hier wel al 2 boeken liggen "Objects First with Java using BlueJ" van David Barnes, en "Beginning programming with Java" van Burd.

    Goed of zijn er betere alternatieven? Misschien een handige website ofzo? Heb op de Java site ooit zo'n handleiding gevonden, maar misschien zijn er betere.
    Crutchdonderdag 27 mei 2010 @ 14:54
    Het Java for dummies boek van Burd is ook een uitstekend boek.
    Fortitudedonderdag 27 mei 2010 @ 14:57
    quote:
    Op donderdag 27 mei 2010 14:42 schreef Deeltjesversneller het volgende:
    Hoe lang zou het duren voor iemand die praktisch nieuw is met programmeren, om een programma te maken met verschillende velden en opties die doorgestuurd moeten worden naar email bijvoorbeeld. soort van aanmeldingsformulier wat ook in PHP/HTML zou kunnen?

    Klinkt niet echt lastig, maar wellicht dat het in Java wat lastiger gaat dan als website script?
    Dus niet meer dan 1 scherm met wat velden. En als je op een knop drukt dan wordt er iets via de mail verstuurd?

    Dat heb je binnen 2 dagen wel gemaakt.
    minibeerzondag 20 juni 2010 @ 22:07
    quote:
    Op donderdag 27 mei 2010 14:42 schreef Deeltjesversneller het volgende:
    Hoe lang zou het duren voor iemand die praktisch nieuw is met programmeren, om een programma te maken met verschillende velden en opties die doorgestuurd moeten worden naar email bijvoorbeeld. soort van aanmeldingsformulier wat ook in PHP/HTML zou kunnen?

    Klinkt niet echt lastig, maar wellicht dat het in Java wat lastiger gaat dan als website script?
    Als iemand met ervaring je helpt...
    Als je je een beetje in swing verdiept kan je in no-time vensters met knoppen en tekstvelden maken. Via de mail iets versturen heb ik geen ervaring mee, maar lijkt me wat ingewikkelder. (Maar nog steeds niet echt een probleem mits iemand met ervaring je helpt)
    minibeerdinsdag 22 juni 2010 @ 20:46
    Het lukt mij niet om applets te compilen. Wanneer ik ze met Netbeans run werkt dat prima, maar deze opent de applets in een applet viewer. Wanneer ik het hele project in Netbeans probeer te compileren krijg ik een .jar file(die een foutmelding geeft als ik hem probeer te openen) met een readme.txt.
    Als ik een batchfile met daarin "javac helloapplet.java" gebruik, krijg ik een melding:
    "javac wordt niet herkend als een interne of externe opdracht, programma of batchbestand."
    Als ik alleen de applet zelf probeer te compileren met Netbeans, krijg ik een melding:
    1
    2
    3
    4
    5
    6
    init:
    Deleting: C:\Documents and Settings\Administrator\Mijn documenten\NetBeansProjects\JavaLibrary1\build\built-jar.properties
    deps-jar:
    Updating property file: C:\Documents and Settings\Administrator\Mijn documenten\NetBeansProjects\JavaLibrary1\build\built-jar.properties
    compile-single:
    BUILD SUCCESSFUL (total time: 0 seconds)


    Maarja dan kan ik nog steeds geen class file vinden
    Diaboxdinsdag 22 juni 2010 @ 22:12
    Je zit op windows neem ik aan? Zo ja, dan staat javac niet in je path en werkt javac helloapplet.java dus niet, wat wel werkt is dan C:\sun\java\src\bin\javac helloapplet.java oid. (ligt er natuurlijk aan waar je java staat geinstalleerd ). Met netbeans heb ik geen ervaring, ik gebruik eclipse. Of je zet javac in je path, moet je even googlen.
    minibeerdinsdag 22 juni 2010 @ 22:34
    quote:
    Op dinsdag 22 juni 2010 22:12 schreef Diabox het volgende:
    Je zit op windows neem ik aan? Zo ja, dan staat javac niet in je path en werkt javac helloapplet.java dus niet, wat wel werkt is dan C:\sun\java\src\bin\javac helloapplet.java oid. (ligt er natuurlijk aan waar je java staat geinstalleerd ). Met netbeans heb ik geen ervaring, ik gebruik eclipse. Of je zet javac in je path, moet je even googlen.
    Thanks! Het is even gedoe, maar met:
    1
    2
    start "" "C:\Program Files\Java\jdk1.6.0_17\bin\javac.exe" helloapplet.java
    pause

    Werkt het batch bestand eindelijk
    minibeerwoensdag 23 juni 2010 @ 00:10
    En een paar uur later ben ik al straight awesomeness aan het maken:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.awt.*;
    import java.applet.Applet;

    public class helloapplet extends Applet {
        int height, width;
        public void init(){
            height = getSize().height;
            width = getSize().width;
       setBackground(Color.black);
        }
       
        public void paint(Graphics g){
            g.setColor(Color.green);
            g.drawString("Hello World!", width / 2 - 30, height / 2 - 3);
            for (int i = 0; i <= 10; i++){
                g.drawLine(width / 20 * i, 0, 0, height / 2 - height / 20 * i);
                g.drawLine(width / 2 + width / 20 * i, 0, width, height / 20 * i);
                g.drawLine(0, height / 2 + height / 20 * i, width / 20 * i, height);
                g.drawLine(width, height / 2 + height / 20 * i, width - width / 20 * i, height);
                g.drawOval(0, 0, width, height);
            }
        }
    }


    (dit is gelukkig niet alles wat ik heb gedaan in die paar uur hoor )
    Deeltjesversnellerwoensdag 23 juni 2010 @ 13:02
    Ik wil eigenlijk een heel simpel programma maken, 5 velden die in te vullen zijn en daarna een knop Verzend waarna het gemailed wordt. Ik weet hoe ik dit in HTML/PHP kan doen maar Java ben ik helemaal nieuw mee. Kan iemand me op weg helpen, vooral het email gedeelte?
    Crutchwoensdag 23 juni 2010 @ 13:23
    quote:
    Op woensdag 23 juni 2010 13:02 schreef Deeltjesversneller het volgende:
    Ik wil eigenlijk een heel simpel programma maken, 5 velden die in te vullen zijn en daarna een knop Verzend waarna het gemailed wordt. Ik weet hoe ik dit in HTML/PHP kan doen maar Java ben ik helemaal nieuw mee. Kan iemand me op weg helpen, vooral het email gedeelte?
    Begin eens met wat linkjes te klikken in de OP.
    Deeltjesversnellerwoensdag 23 juni 2010 @ 13:36
    Ja ik heb al het een en ander gezocht en doorgelezen, maar volgens mij zit ik in het verkeerde straatje te kijken want het lijkt me heel simpel te moeten kunnen maken

    edit: al gelukt in visualbasic

    [ Bericht 20% gewijzigd door Deeltjesversneller op 23-06-2010 14:23:22 ]
    CubicXdonderdag 8 juli 2010 @ 17:19
    Na een tijdje niet echt met programmeren bezig te zijn geweest (+/- 6 maand php-gescript voor bijbaan), wil ik deze vakantie onder andere (het blijft vakantie, dus chillen gaan we ook zeker doen ) weer Object-oriented programming oppikken met Java .

    Uiteindelijk wil ik Android applicaties (en dat is Java) schrijven .

    [ Bericht 16% gewijzigd door CubicX op 08-07-2010 17:28:11 ]
    Diaboxdonderdag 8 juli 2010 @ 22:15
    .
    Crutchdonderdag 8 juli 2010 @ 22:37
    quote:
    Op donderdag 8 juli 2010 17:19 schreef CubicX het volgende:
    Na een tijdje niet echt met programmeren bezig te zijn geweest (+/- 6 maand php-gescript voor bijbaan), wil ik deze vakantie onder andere (het blijft vakantie, dus chillen gaan we ook zeker doen ) weer Object-oriented programming oppikken met Java .

    Uiteindelijk wil ik Android applicaties (en dat is Java) schrijven .
    Welkom.
    Als je ergens niet uitkomt dan kun je hier gerust je vraag droppen.
    Ofyles2vrijdag 9 juli 2010 @ 00:24
    quote:
    Op donderdag 8 juli 2010 17:19 schreef CubicX het volgende:
    Na een tijdje niet echt met programmeren bezig te zijn geweest (+/- 6 maand php-gescript voor bijbaan), wil ik deze vakantie onder andere (het blijft vakantie, dus chillen gaan we ook zeker doen ) weer Object-oriented programming oppikken met Java .

    Uiteindelijk wil ik Android applicaties (en dat is Java) schrijven .
    Klinkt goed.

    * Ofyles2 zelf ook boeken thuis heeft liggen en enige affiniteit heeft met Java...
    minibeervrijdag 9 juli 2010 @ 23:32
    quote:
    Op donderdag 8 juli 2010 17:19 schreef CubicX het volgende:
    Na een tijdje niet echt met programmeren bezig te zijn geweest (+/- 6 maand php-gescript voor bijbaan), wil ik deze vakantie onder andere (het blijft vakantie, dus chillen gaan we ook zeker doen ) weer Object-oriented programming oppikken met Java .

    Uiteindelijk wil ik Android applicaties (en dat is Java) schrijven .

    Dus je hebt al wel ervaring met java? Ik ben net java aan het leren . Hoewel ik ook c++ wilde leren, heb ik besloten eerst maar eens wat java skills te krijgen .

    En nog een kleine vraag betreffende getWidth() en getHeight(). Deze kan men blijkbaar alleen in paintComponent() gebruiken? Als ik ze in de constructor probeer te definieren, geven ze 0.
    En waarom kan ik getWidth() en getHeight niet toekennen aan lokale variabelen? (Ik weet niet of lokale variaele de juiste naam is: ik bedoel een variabele die ik binnen paintComponent hebt dedefinieerd.)
    CubicXzaterdag 10 juli 2010 @ 17:56
    quote:
    Op vrijdag 9 juli 2010 23:32 schreef minibeer het volgende:

    [..]


    Dus je hebt al wel ervaring met java? Ik ben net java aan het leren . Hoewel ik ook c++ wilde leren, heb ik besloten eerst maar eens wat java skills te krijgen .

    En nog een kleine vraag betreffende getWidth() en getHeight(). Deze kan men blijkbaar alleen in paintComponent() gebruiken? Als ik ze in de constructor probeer te definieren, geven ze 0.
    En waarom kan ik getWidth() en getHeight niet toekennen aan lokale variabelen? (Ik weet niet of lokale variaele de juiste naam is: ik bedoel een variabele die ik binnen paintComponent hebt dedefinieerd.)
    Ja, ik al wel ervaring met Java. Ik heb echter een tijd niks aan Java gedaan (bezig geweest met PHP en JavaScript) en hierdoor merk ik duidelijk dat mijn kennis wat vervaagd is.

    Volgens mij kan je getWidth en getHeight ook gebruiken buiten paintComponent, mits je het te tekenen object al definieert in de fields (variabelen die bovenin je klasse staan). Natuurlijk kan je getWidth en height ook gebruiken bij andere dingen (zoals afbeeldingen, icoontjes, etc. Maar dat zoek jij niet denk ik). De waardes van getWidth en height kan je wel toewijzen aan een lokale variabele:

    private float waarde = object.getWidth() / getHeight()

    Waar object natuurlijk staat voor het object waar je de breedte en hoogte van wilt hebben.
    minibeerzaterdag 10 juli 2010 @ 21:25
    quote:
    Op zaterdag 10 juli 2010 17:56 schreef CubicX het volgende:
    Ja, ik al wel ervaring met Java. Ik heb echter een tijd niks aan Java gedaan (bezig geweest met PHP en JavaScript) en hierdoor merk ik duidelijk dat mijn kennis wat vervaagd is.
    Ok, je kan mij in ieder geval helpen dus je bent iig geen beginner .
    quote:
    Op zaterdag 10 juli 2010 17:56 schreef CubicX het volgende:
    Volgens mij kan je getWidth en getHeight ook gebruiken buiten paintComponent, mits je het te tekenen object al definieert in de fields (variabelen die bovenin je klasse staan). Natuurlijk kan je getWidth en height ook gebruiken bij andere dingen (zoals afbeeldingen, icoontjes, etc. Maar dat zoek jij niet denk ik). De waardes van getWidth en height kan je wel toewijzen aan een lokale variabele:

    private float waarde = object.getWidth() / getHeight()

    Waar object natuurlijk staat voor het object waar je de breedte en hoogte van wilt hebben.
    Bedankt voor de hulp, maar het is nog niet 100% duidelijk...
    Ik ben nu gewoon bezig met lijntjes enzo tekenen, dat doe ik in een klasse van het type JPanel. In de constructor van die klasse zou ik de hoogte en de breedte vast willen leggen in twee integers. Als de gebruiker dan het scherm resizet wordt de tekening niet automatisch verandert.
    Ik snap niet helemaal wat je bedoelt met 'het te tekenen object', ik weet alleen hoe lijnen tekenen werkt, of bedoel je zoiets:
    1
    2
    3
    4
    5
    6
    7
    8
    public class bla{
    Graphics g;
    int height, width;
    public bla(){
      height = this.getHeight();
      width = this.getWidth();
    }
    }

    (of zonder 'this.' natuurlijk)
    maar dit krijg ik verder niet werkend, dus dit zal je wel niet bedoelen...

    Wat ik nu heb:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    public class lijntjespaneel extends JPanel implements ActionListener {
        int height, width, skipstep;
        JButton knop;
        JTextField veld;

        @Override
        public void paintComponent(Graphics g){
            super.paintComponent(g);
            height = this.getHeight();
            width = this.getWidth();
            int ypos = height / 2;
            if ((skipstep==0) || (skipstep < 0)) skipstep = 1;
            while(ypos <= height)
            {
                g.drawLine(0, ypos, width, ypos);
                ypos = ypos + skipstep;
            }
        }

        public lijntjespaneel(){
            add(new JLabel("Afstand tussen de lijntjes:"));
            add(veld = new JTextField("5", 10));
            skipstep = 5;
            add(knop = new JButton("Teken"));
            knop.addActionListener(this);
        }

        public void actionPerformed(ActionEvent e){
            skipstep = Integer.parseInt(veld.getText());
            repaint();
        }


    EDIT:
    Het werkt dan weer wel als ik getHeight() en getWidth() in de actionPerformed zet, maar niet als ik hem in de constructor zet...

    [ Bericht 4% gewijzigd door minibeer op 10-07-2010 22:14:16 ]
    Diaboxzondag 11 juli 2010 @ 11:07
    Uiteraard werkt het nog niet in de constructor, je scherm heeft dan in principe nog geen hoogte of breedte, want je venster bestaat nog niet.

    En schrijf deze if-statement
    1if ((skipstep==0) || (skipstep < 0)) skipstep = 1;

    Eens zo op:
    1
    2
    if (skipstep < 1)
        skipstep = 0;


    (mag uiteraard ook weer op 1 regel, echter die 2 condities zijn nergens voor nodig, of je moet het voor lezersgemak hebben, maar ik zie het lezersgemak niet echt).

    En dit:
    1ypos = ypos + skipstep;

    kan je ook schrijven als dit:
    1ypos += skipstep;
    minibeerzondag 11 juli 2010 @ 16:22
    quote:
    Op zondag 11 juli 2010 11:07 schreef Diabox het volgende:
    Uiteraard werkt het nog niet in de constructor, je scherm heeft dan in principe nog geen hoogte of breedte, want je venster bestaat nog niet.
    Aaaaah
    Die eerste 'if' was alleen om te testen hoe dat or precies werkte, en aan die += notatie moet ik idd nog wennen...
    dus... aparte method maken dan maar...
    minibeermaandag 12 juli 2010 @ 22:30
    sorry als ik iemand irriteer met mijn vragen, maar het boek dat ik heb zuigt nogal, en ik weet niet echt hoe ik het anders te weten zou kunnen komen (google biedt ook geen uitkomst)...
    Ik wil een string declareren in mijn klasse (het is dus een field), maar op de korte manier creëren:
    String[] dagen = {"ma", "di", "wo", "do", "vr", "za", "zo"};
    Probleem is dat, als ik deze code gebruik, de variable gelijk ook gedeclareerd wordt, waarbij deze in de plaats komt van het field dagen...
    Diaboxmaandag 12 juli 2010 @ 22:41
    Ik snap ik je probleem denk ik niet ?
    Crutchmaandag 12 juli 2010 @ 22:49
    quote:
    Op maandag 12 juli 2010 22:30 schreef minibeer het volgende:
    sorry als ik iemand irriteer met mijn vragen, maar het boek dat ik heb zuigt nogal, en ik weet niet echt hoe ik het anders te weten zou kunnen komen (google biedt ook geen uitkomst)...
    Ik wil een string declareren in mijn klasse (het is dus een field), maar op de korte manier creëren:
    String[] dagen = {"ma", "di", "wo", "do", "vr", "za", "zo"};
    Probleem is dat, als ik deze code gebruik, de variable gelijk ook gedeclareerd wordt, waarbij deze in de plaats komt van het field dagen...
    Ik snap je probleem niet, je roept ze toch gewoon aan met dagen[0] of dagen[1] of dagen[2] etc?
    minibeermaandag 12 juli 2010 @ 23:10
    quote:
    Op maandag 12 juli 2010 22:49 schreef Crutch het volgende:

    [..]

    Ik snap je probleem niet, je roept ze toch gewoon aan met dagen[0] of dagen[1] of dagen[2] etc?
    Het aanroepen is ook geen probleem, ik ben alleen zo lui dat ik per se de kortere notatie wil gebruiken:
    String[] dagen = {"ma", "di", "wo", "do", "vr", "za", "zo"};
    ipv:
    dagen[0] = "ma";
    dagen[1] = "di";
    etc...

    maar met de verkorte versie declareer je ook gelijk de array dagen, waardoor, als je die verkorte notatie binnen een method gebruikt, de array opnieuw aangemaakt wordt, wat ik dus niet wil.
    Blijkbaar moet je dan die array ook maar buiten de method creëren en initialiseren... (dus String[] dagen = {"ma", "di", "wo", "do", "vr", "za", "zo"}; gewoon helemaal buiten de method zetten)
    Crutchmaandag 12 juli 2010 @ 23:14
    quote:
    Op maandag 12 juli 2010 23:10 schreef minibeer het volgende:

    [..]

    Het aanroepen is ook geen probleem, ik ben alleen zo lui dat ik per se de kortere notatie wil gebruiken:
    String[] dagen = {"ma", "di", "wo", "do", "vr", "za", "zo"};
    ipv:
    dagen[0] = "ma";
    dagen[1] = "di";
    etc...

    maar met de verkorte versie declareer je ook gelijk de array dagen, waardoor, als je die verkorte notatie binnen een method gebruikt, de array opnieuw aangemaakt wordt, wat ik dus niet wil.
    Blijkbaar moet je dan die array ook maar buiten de method creëren en initialiseren... (dus String[] dagen = {"ma", "di", "wo", "do", "vr", "za", "zo"}; gewoon helemaal buiten de method zetten)
    Dat is zowieso verstandig met al je vars tenzij je ze alleen in je method nodig hebt.
    minibeerdinsdag 13 juli 2010 @ 00:30
    quote:
    Op maandag 12 juli 2010 23:14 schreef Crutch het volgende:

    [..]

    Dat is zowieso verstandig met al je vars tenzij je ze alleen in je method nodig hebt.
    das waar, maar je kan deze notatie dus niet binnen je method gebruiken voor een field? Ik kan me namelijk wel voorbeelden bedenken waarin dat handiger zou zijn...
    Anyway, nog best lastige taal met al dat OOP-gedoe, en al die klassen en packages... maargoed het lukt wel steeds beter allemaal...
    En bedankt voor de hulp trouwens
    robuust89dinsdag 14 september 2010 @ 20:17
    Help, ik kom er niet uit :{

    Mijn huidige code ziet er zo uit:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public static int getNrOfUniqValues(int[] collection) { 
            int doubles = 0;

            for (int x = 0; x < collection.length; x++) {
                for (int y = 0; y < collection.length; y++) {
                    if (x != y) {
                        if (collection[x] == collection[y]) {
                            doubles++;
                        }
                    }
                }
            }

            System.out.println("\nOPDRACHT D");
            System.out.println("Het aantal dubbele getallen in het array is: " + doubles);
            System.out.println("Dus het aantal verschillende getallen zijn: " + (collection.length - doubles));
            return doubles;
        }
    De grap is, ik moet het aantal dubbele waarden tellen en weergeven, want ik laat er een MainTest.java overheen gaan, en die zegt: FAILED, expected <5> but was <4>
    Ik kan er gewoon met me kop niet bij hoe ik dat het beste kan aanpakken (chaos in het hoofd, jottem!)

    code uit test file:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @Test
        public void getNrOfUniqValues() {
            System.out.println("getNrOfUniqValues");
            for (int test = 0; test < NR_TESTS; test++) {
                int[] arr = testArrays[test];
                int expResult = testResults[test][UNIQCOUNT];
                int result = Main.getNrOfUniqValues(arr); // TODO: change it for your project
                System.out.println("test "+test + " expect "+expResult + " result "+result);
                assertEquals(expResult, result);
            }   
        }
    Array initialisatie test file:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class MainTest {   
        int [][] testArrays = {{ -99, -1, 0, 2, 2, -99, 10 }, //{ -99, -1, 0, 2, 2, -99, 10 },
                               {  },
                               { -3000, -200 }, //{ -3000, -200 }
                               { 0, 0, 0 }, //
                               { 3, 3000, 3000 }}; //
        // antwoorden opgaven a..f per testArray
        // excercise indexes 0..5
        final int POS=0, SUMPOS=1, BIGNUMCOUNT=2, UNIQCOUNT=3, HASDUPS=4, BIGGERNUMS=5;     
        // positives, sum, #biggestnum, #uniqs, hasduplicates, #biggerthanbefore
        int [][] testResults = {{ 3,    14,     1,  5,  1,  5 }, // testarray[0]
                               {  0,    0,      0,  0,  0,  0 },
                               {  0,    0,      1,  2,  0,  2 },
                               {  0,    0,      3,  1,  1,  1 },
                               {  3,    6003,  2,  2,  1,  2 }};
        int NR_TESTS = testArrays.length;          
    Kan iemand hier een lichtje op schijnen? :)
    SinofEnvydinsdag 14 september 2010 @ 22:58
    Waarom doe je if(x != y)?
    Diaboxdinsdag 14 september 2010 @ 23:00
    quote:
    Op dinsdag 14 september 2010 22:58 schreef SinofEnvy het volgende:
    Waarom doe je if(x != y)?
    Omdat ie toch het ene getal met het andere getal wil vergelijken van z'n collection? :') Als x == y, dan is ie uiteraard identiek :')
    SinofEnvydinsdag 14 september 2010 @ 23:05
    -edit: hihi grapje verkeerd gelezen ik dacht dat je 2 collections had :*-
    Diaboxdinsdag 14 september 2010 @ 23:08
    quote:
    Op dinsdag 14 september 2010 23:05 schreef SinofEnvy het volgende:
    -edit: hihi grapje verkeerd gelezen ik dacht dat je 2 collections had :*-
    Ha, homo. :(
    Wolfjewoensdag 22 september 2010 @ 20:47
    quote:
    Op dinsdag 14 september 2010 20:17 schreef robuust89 het volgende:
    Help, ik kom er niet uit :{

    Mijn huidige code ziet er zo uit:
    [ code verwijderd ]

    De grap is, ik moet het aantal dubbele waarden tellen en weergeven, want ik laat er een MainTest.java overheen gaan, en die zegt: FAILED, expected <5> but was <4>
    Ik kan er gewoon met me kop niet bij hoe ik dat het beste kan aanpakken (chaos in het hoofd, jottem!)

    code uit test file:
    [ code verwijderd ]

    Array initialisatie test file:
    [ code verwijderd ]

    Kan iemand hier een lichtje op schijnen? :)
    Hmm... wellicht heb je je probleem zelf opgelost, maar bij deze toch nog mijn bijdrage :).

    Jouw code telt het aantal paren i,j met i != j waarvoor geldt collection[i] == collection[j]. Als er nu n dezelfde getallen in het array zitten geeft dit een totale bijdrage van n*(n-1) aan je variable 'doubles'. Jouw methode kan dus zelfs een negatief getal teruggeven :).
    Elk groepje van n wil je precies een keer tellen. Dat zou je bijvoorbeeld kunnen doen door alleen het eerst voorkomende element te tellen. In pseudo code
    1
    2
    3
    4
    5
    6
    7
    int unique = 0;
    for ( int i = 0; i < collection.length; i++) {
      boolean isFirstElement = true;
      for ( int j = 0; j < i; j++) isFirstElement &= collection[j] != collection[i]
      if ( isFirstElement ) unique++;
    }
    return unique;
    De benodigde rekentijd voor dit algoritme is O(n^2) (n = collection.length). Dit kun je verbeteren naar O(n*log(n)) door eerst te sorteren en dan het element met zijn voorganger vergelijken. Nog nerdier is om de waarden in een hashmap op te slaan als je over het array loopt. En als je geen flauw idee hebt waar het voorgaande gewauwel over gaat is het leuk om de verschillende algoritmen op een array van zo'n 100000 elementen toe te passen. Oh, en je kunt je er natuurlijk ook heel makkelijk van af maken door een ingebouwde java collectie te gebruiken: java.util.TreeSet.
    Diaboxwoensdag 22 september 2010 @ 21:05
    quote:
    Als er nu n dezelfde getallen in het array zitten geeft dit een totale bijdrage van n*(n-1) aan je variable 'doubles'. Jouw methode kan dus zelfs een negatief getal teruggeven
    Hoe dan :P?
    Wolfjewoensdag 22 september 2010 @ 22:36
    quote:
    Op woensdag 22 september 2010 21:05 schreef Diabox het volgende:

    [..]

    Hoe dan :P?
    Ah, ik zie dat ik iets te enthousiast ben geweest. De methode zelf zal niet zo snel een negatief getal terug geven, maar de volgende regel drukt wel iets negatiefs af als bijvoorbeeld de invoer 10 dezelfde getallen is (-80 als ik goed gerekend heb).
    1System.out.println("Dus het aantal verschillende getallen zijn: " + (collection.length - doubles));
    Het is wel mogelijk om integer overflow te krijgen. Als je n dezelfde getallen hebt, is het antwoord n*(n-1). Het grootste integer is iets van 2.18 miljard. Als je dus bijvoorbeeld n = 50000 kiest, ga je over die limiet heen.
    robuust89donderdag 23 september 2010 @ 11:08
    quote:
    Op woensdag 22 september 2010 20:47 schreef Wolfje het volgende:

    [..]

    Hmm... wellicht heb je je probleem zelf opgelost, maar bij deze toch nog mijn bijdrage :).

    Jouw code telt het aantal paren i,j met i != j waarvoor geldt collection[i] == collection[j]. Als er nu n dezelfde getallen in het array zitten geeft dit een totale bijdrage van n*(n-1) aan je variable 'doubles'. Jouw methode kan dus zelfs een negatief getal teruggeven :).
    Elk groepje van n wil je precies een keer tellen. Dat zou je bijvoorbeeld kunnen doen door alleen het eerst voorkomende element te tellen. In pseudo code
    [ code verwijderd ]

    De benodigde rekentijd voor dit algoritme is O(n^2) (n = collection.length). Dit kun je verbeteren naar O(n*log(n)) door eerst te sorteren en dan het element met zijn voorganger vergelijken. Nog nerdier is om de waarden in een hashmap op te slaan als je over het array loopt. En als je geen flauw idee hebt waar het voorgaande gewauwel over gaat is het leuk om de verschillende algoritmen op een array van zo'n 100000 elementen toe te passen. Oh, en je kunt je er natuurlijk ook heel makkelijk van af maken door een ingebouwde java collectie te gebruiken: java.util.TreeSet.
    Held! Ik ben je eeuwig dankbaar _O_ :P Ik had idd lopen kutten met de hashmap, maar dat ging helemaal niet :')
    Crutchdonderdag 21 oktober 2010 @ 14:26
    Ik snap er niks van; ik kan geen JDK voor Mac vinden. :?

    Heb Netbeans geinstalleerd maar vindt de libraries niet.
    Crutchdonderdag 21 oktober 2010 @ 15:06
    Nevermind, hij vond de Javadocs niet, die kon ik natuurlijk gewoon daownloaden bij Sun. :')
    cablegunmasterzaterdag 30 oktober 2010 @ 17:48
    Wat is de grootste Variabele die je kan gebruiken voor getallen? de allergrootste?
    ik zoek namelijk een manier om een gigantisch groot getal uit te rekenen :).
    iemand tips ^^?

    met double kreeg ik al bij de 2e poging;

    Programma gestart.
    Graham deel:0 :4
    Graham deel:1 :4.434264882430415E38
    Graham deel:2 :Infinity

    ja ik wou eens kijken of ik het getal graham kon uitrekenen, daarvoor heb je toch computers ;)?
    minibeerzaterdag 30 oktober 2010 @ 18:40
    quote:
    1s.gif Op zaterdag 30 oktober 2010 17:48 schreef cablegunmaster het volgende:
    Wat is de grootste Variabele die je kan gebruiken voor getallen? de allergrootste?
    ik zoek namelijk een manier om een gigantisch groot getal uit te rekenen :).
    iemand tips ^^?

    met double kreeg ik al bij de 2e poging;

    Programma gestart.
    Graham deel:0 :4
    Graham deel:1 :4.434264882430415E38
    Graham deel:2 :Infinity

    ja ik wou eens kijken of ik het getal graham kon uitrekenen, daarvoor heb je toch computers ;)?
    Toevallig zat ik daar laatst ook eens aan te denken. Het moet mogelijk zijn om dmv klassen zelf zo'n ding te maken. Ik vraag me alleen af of het dan mogelijk is om een heel groot getal toe te wijzen aan zo'n object/struct. Volgens mij als je de operator = gebruikt, converteert de compiler het getal rechts van = eerst naar een int ofzo, en daarvoor is het dus te groot.
    cablegunmasterzaterdag 30 oktober 2010 @ 18:45
    quote:
    1s.gif Op zaterdag 30 oktober 2010 18:40 schreef minibeer het volgende:

    [..]

    Toevallig zat ik daar laatst ook eens aan te denken. Het moet mogelijk zijn om dmv klassen zelf zo'n ding te maken. Ik vraag me alleen af of het dan mogelijk is om een heel groot getal toe te wijzen aan zo'n object/struct. Volgens mij als je de operator = gebruikt, converteert de compiler het getal rechts van = eerst naar een int ofzo, en daarvoor is het dus te groot.
    welke programmeer code gebruik jij? toch hopelijk niet PHP?
    want Java kan je doubles en andere ongein gebruiken als je het maar google :). voor gebruikt.
    van te voren aan geven wat alles is.

    zit nu alleen met het probleem dat ik geen machten meer kan gebruiken :') en dus mijn eigen macht methode moet schrijven die redelijk omslachtig is.

    ik mag ook geen While gebruiken omdat het formaat dat ik gebruik het niet toestaat :')!
    terug transformeren naar int zal mijn getal verneuken. :( dus iemand een oplossing :)?

    [ Bericht 15% gewijzigd door cablegunmaster op 30-10-2010 19:19:02 ]
    minibeerzaterdag 30 oktober 2010 @ 19:30
    quote:
    1s.gif Op zaterdag 30 oktober 2010 18:45 schreef cablegunmaster het volgende:[/b]

    [..]



    welke programmeer code gebruik jij? toch hopelijk niet PHP?
    want Java kan je doubles en andere ongein gebruiken als je het maar google :). voor gebruikt.
    van te voren aan geven wat alles is.

    zit nu alleen met het probleem dat ik geen machten meer kan gebruiken :') en dus mijn eigen macht methode moet schrijven die redelijk omslachtig is.

    ik mag ook geen While gebruiken omdat het formaat dat ik gebruik het niet toestaat :')!
    terug transformeren naar int zal mijn getal verneuken. :( dus iemand een oplossing :)?
    ik gebruik c# nu, maar dat maakt volgens mij niet zoveel uit
    in mijn geval wilde ik een klasse hebben voor hele getallen, en volgens mij wordt (ook in java) een getal dat geen punt bevat automatisch geconverteerd naar een int.
    ik wil dus eigenlijk een klasse die zo werkt:
    1
    2
    Grootgetal g;
    g = 13524653638638024590356899;
    maar dat kan dus geloof ik niet omdat het getal rechts dan te groot is om naar een int te converteren.
    cablegunmasterzaterdag 30 oktober 2010 @ 19:54
    quote:
    1s.gif Op zaterdag 30 oktober 2010 19:30 schreef minibeer het volgende:

    [..]

    ik gebruik c# nu, maar dat maakt volgens mij niet zoveel uit
    in mijn geval wilde ik een klasse hebben voor hele getallen, en volgens mij wordt (ook in java) een getal dat geen punt bevat automatisch geconverteerd naar een int.
    ik wil dus eigenlijk een klasse die zo werkt:
    [ code verwijderd ]

    maar dat kan dus geloof ik niet omdat het getal rechts dan te groot is om naar een int te converteren.
    in java had ik er 1 die heette BigDecimal kon heerlijk grootte getallen bevatten alleen toen raakte ik mijn while kwijt. en nu zit ik verhoop dat te implementeren. krijg nu heerlijk een fout terwijl ik weet dat ik het goed doe (zal ook wel niet pc heeft gelijk ) . doe ik het toch fout :).
    cablegunmasterzaterdag 30 oktober 2010 @ 20:51
    quote:
    1s.gif Op zaterdag 30 oktober 2010 19:30 schreef minibeer het volgende:

    [..]

    ik gebruik c# nu, maar dat maakt volgens mij niet zoveel uit
    in mijn geval wilde ik een klasse hebben voor hele getallen, en volgens mij wordt (ook in java) een getal dat geen punt bevat automatisch geconverteerd naar een int.
    ik wil dus eigenlijk een klasse die zo werkt:
    [ code verwijderd ]

    maar dat kan dus geloof ik niet omdat het getal rechts dan te groot is om naar een int te converteren.
    het probleem bij mij is dat het getal niet uit te berekenen valt omdat mijn pc niet meer geheugen heeft _O-
    Wolfjezondag 31 oktober 2010 @ 12:16
    quote:
    1s.gif Op zaterdag 30 oktober 2010 18:45 schreef cablegunmaster het volgende:

    [..]



    welke programmeer code gebruik jij? toch hopelijk niet PHP?
    want Java kan je doubles en andere ongein gebruiken als je het maar google :). voor gebruikt.
    van te voren aan geven wat alles is.

    zit nu alleen met het probleem dat ik geen machten meer kan gebruiken :') en dus mijn eigen macht methode moet schrijven die redelijk omslachtig is.

    ik mag ook geen While gebruiken omdat het formaat dat ik gebruik het niet toestaat :')!
    terug transformeren naar int zal mijn getal verneuken. :( dus iemand een oplossing :)?
    In java heb je de klassen BigInteger en BigDecimal (in java.math) die allebei ook de macht van het getal kunnen uitrekenen (pow). Op wikipedia heb ik even gekeken naar dat Graham getal en het blijkt dat dat getal bijzonder hard zijn best doet om heel snel ontzettend groot te worden. Ik ben dus ook niet zo verbaasd dat zelfs een computer je hierbij niet echt kan helpen :).