Auteur Topic: Java Vraagje  (gelezen 3745 keer)

0 leden en 1 gast bekijken dit topic.

OnlineRageKiller

  • DigitalPlace Lid
  • *
  • Berichten: 200
  • Karma: -10
  • Talk is cheap, show me the code!
    • Bekijk profiel
Java Vraagje
« Gepost op: september 19, 2015, 08:47:32 pm »
  • [+1]0
  • [-1]0
  • Yo DP,


    Ik wil met java een applet maken, waarin je 2 getallen kunt intikken, en die het grootste getal laat zien in de drawString.


    Mijn Code:
    package h01;
    import java.applet.Applet;
    import java.awt.Button;
    import java.awt.Graphics;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;






    public class Hoofdstuk10 extends Applet {
                                                      private static final long serialVersionUID = 1L;


    //DECLARATIE
    TextField Input1;
    TextField Input2;
    Button Knop;
    String Text = "";








    KnopListener kl = new KnopListener();






                                                     
                                                 
    public void init() {
       setSize(400,150);
       
       Input1 = new TextField(10);
       Input2 = new TextField(10);
       Knop   = new Button("OK");
       
       Knop.addActionListener(kl);


       add(Input1);
       add(Input2);
       add(Knop);
       
    }
       


       
       class KnopListener implements ActionListener {
           public void actionPerformed( ActionEvent e ) {
              if (Input1 >= Input2) {
                 Text = Input1.getText();
                 
              } else {
                 Text = Input2.getText();
                 
              }
             
             
             
                }
           }


       
       public void paint(Graphics g) {
          g.drawString("Het hoogste getal is" + Input1, 0, 100);
       }




























    }

    Buzzer

    • Ex-Moderator
    • Actief DigitalPlace Lid
    • **
    • Berichten: 853
    • Karma: 13
    • Nodeïst
      • Bekijk profiel
      • http://infamous-irc.com
    Re: Java Vraagje
    « Reactie #1 Gepost op: september 19, 2015, 09:45:51 pm »
  • [+1]0
  • [-1]0
  • ...en wat is de vraag?

    (overigens kan het maar beter een goede, afgebakende vraag zijn want je gaat natuurlijk niet je huiswerk door anderen laten doen)


    Java kan trouwens in tegenstelling tot Javascript niet als scripttaal gerekend worden, omdat er compilatie bij komt kijken. Het is echt puur een programmeertaal.
    « Laatst bewerkt op: september 19, 2015, 09:47:44 pm door Buzzer »

    グーグル翻訳はうまく翻訳できませんので、グーグル翻訳使用してこの文章を翻訳しないでください。また、任天堂は最高です。

    OnlineRageKiller

    • DigitalPlace Lid
    • *
    • Berichten: 200
    • Karma: -10
    • Talk is cheap, show me the code!
      • Bekijk profiel
    Re: Java Vraagje
    « Reactie #2 Gepost op: september 19, 2015, 09:51:42 pm »
  • [+1]0
  • [-1]0
  • @Buzzer Mijn vraag is wat ik verkeerd doe? Ik wil er natuurlijk wel van leren dus GOEDE hints zijn ook welkom.

    xvilo

    • Global Moderator
    • Verslaafd DigitalPlace Lid
    • *****
    • Berichten: 2675
    • Karma: -44
      • Bekijk profiel
      • http://www.xvilo.com
    Re: Java Vraagje
    « Reactie #3 Gepost op: september 19, 2015, 09:54:13 pm »
  • [+1]0
  • [-1]0
  • Nee, S9M, we geven je alleen maar hints hoe je het beste pannenkoeken kunt bakken!


    OnlineRageKiller

    • DigitalPlace Lid
    • *
    • Berichten: 200
    • Karma: -10
    • Talk is cheap, show me the code!
      • Bekijk profiel
    Re: Java Vraagje
    « Reactie #4 Gepost op: september 19, 2015, 10:00:20 pm »
  • [+1]0
  • [-1]0
  • Is er iemand die kan helpen of niet?

    Buzzer

    • Ex-Moderator
    • Actief DigitalPlace Lid
    • **
    • Berichten: 853
    • Karma: 13
    • Nodeïst
      • Bekijk profiel
      • http://infamous-irc.com
    Re: Java Vraagje
    « Reactie #5 Gepost op: september 19, 2015, 10:41:38 pm »
  • [+1]0
  • [-1]0
  • @Buzzer Mijn vraag is wat ik verkeerd doe? Ik wil er natuurlijk wel van leren dus GOEDE hints zijn ook welkom.
    Dat kunnen wij niet weten. Je geeft alleen maar een blob code zonder erbij te vertellen wat je verwacht dat er gebeurt, wat er daadwerkelijk gebeurt en welk deel van de code het "mysterieuze" deel is waarin iets plaatsvindt wat je niet kunt verklaren.


    Het is jouw code; ook meer ervaren programmeurs hebben geen magisch inzicht in de problemen van de code van anderen, en geen tijd om alles regel voor regel door te lopen en af te leiden wat nou precies het probleem is. Hoe specifieker je als programmeur bent en hoe meer je eerst zelf probeert te debuggen, hoe makkelijker het is voor anderen om hulp te bieden.


    Ben je bekend met het begrip "debugger"? Met een debugger kun je stap voor stap zien hoe je code uitgevoerd wordt en wat alle tussenresultaten zijn. Dit helpt enorm bij het specifieker maken van een probleem. Je moet programmeerproblemen altijd zien af te bakenen, doodstaren op een groot stuk code werkt bijna nooit.
    « Laatst bewerkt op: september 19, 2015, 10:45:28 pm door Buzzer »

    グーグル翻訳はうまく翻訳できませんので、グーグル翻訳使用してこの文章を翻訳しないでください。また、任天堂は最高です。

    gertmenkel

    • Actief DigitalPlace Lid
    • **
    • Berichten: 1125
    • Karma: 131
      • Bekijk profiel
    Re: Java Vraagje
    « Reactie #6 Gepost op: september 20, 2015, 01:39:35 am »
  • [+1]0
  • [-1]0
  • Als ik het zo bekijk is dit de reden dat het mis gaat:
          g.drawString("Het hoogste getal is" + Input1, 0, 100);
    Je probeert een TextField om te zetten in een string. Hoogstwaarschijnlijk bedoel je:
          g.drawString("Het hoogste getal is" + Text, 0, 100);

    Mocht dat het niet zijn, zou je dan
    • Een screenshot kunnen geven van hoe het eruit ziet
    • Een beschrijving van wat er precies mis gaat
    • Enige fouten, exceptions of compilter errors die je krijgt
    willen posten? Het is nu voor ons ook gokken wat je wilt en wat er mis gaat.
    ThePirateBay AFK
    Bekijk de vrije en gratis documentaire!

    OnlineRageKiller

    • DigitalPlace Lid
    • *
    • Berichten: 200
    • Karma: -10
    • Talk is cheap, show me the code!
      • Bekijk profiel
    Re: Java Vraagje
    « Reactie #7 Gepost op: september 20, 2015, 12:51:58 pm »
  • [+1]0
  • [-1]0
  • @Buzzer @xvilo @gertmenkel
    Dit is mijn bedoeling, de rode cirkel is de applet die draait na dat ik hem run. Zoals je kunt zien heb ik 2 tekstvakken en 1 knop gemaakt.
    Wat ik wil doen is het volgende:


    In tekstvak 1 typ je een getal, en ik tekstvak 2. vervolgens klik je op ok, en onderin naast "Het hoogste getal is..." verschijnt het hoogste van de 2 getallen. Ik heb zo,n gevoel dat ik in het blauwe stukje, (de if statement) iets verkeerd doe. Klopt dat? hier een screenshot en nogmaals de code.


    package h01;
    import java.applet.Applet;
    import java.awt.Button;
    import java.awt.Graphics;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;






    public class Hoofdstuk10 extends Applet {
                                                      private static final long serialVersionUID = 1L;


    //DECLARATIE
    TextField Input1;
    TextField Input2;
    Button Knop;
    String Text = " ";








    KnopListener kl = new KnopListener();






                                                     
                                                 
    public void init() {
    setSize(400,150);

    Input1 = new TextField(10);
    Input2 = new TextField(10);
    Knop   = new Button("OK");

    Knop.addActionListener(kl);


    add(Input1);
    add(Input2);
    add(Knop);

    }




    class KnopListener implements ActionListener {
        public void actionPerformed( ActionEvent e ) {
        if (Input1 >= Input2) {
        Text = Input1.getText();
       
        } else {
        Text = Input2.getText();
       
        }
       
       
       
             }
        }



    public void paint(Graphics g) {
    g.drawString("Het hoogste getal is" + Text, 0, 100);

    }




























    }



    Buzzer

    • Ex-Moderator
    • Actief DigitalPlace Lid
    • **
    • Berichten: 853
    • Karma: 13
    • Nodeïst
      • Bekijk profiel
      • http://infamous-irc.com
    Re: Java Vraagje
    « Reactie #8 Gepost op: september 20, 2015, 01:02:20 pm »
  • [+1]0
  • [-1]0
  • Om de getallen te kunnen vergelijken moet je eerst zorgen dat je ze ook daadwerkelijk als getallen in je code hebt, en niet als inputboxes of strings. De manier om de ingevulde string uit een inputbox te krijgen heb je al gevonden (de getText method). Als je beide velden als strings hebt kun je ze omzetten naar integers, zodat je met een if statement een numerieke vergelijking kunt doen. Dat kan bijvoorbeeld zo: http://stackoverflow.com/a/15764281/1239690

    グーグル翻訳はうまく翻訳できませんので、グーグル翻訳使用してこの文章を翻訳しないでください。また、任天堂は最高です。

    OnlineRageKiller

    • DigitalPlace Lid
    • *
    • Berichten: 200
    • Karma: -10
    • Talk is cheap, show me the code!
      • Bekijk profiel
    Re: Java Vraagje
    « Reactie #9 Gepost op: september 20, 2015, 08:27:03 pm »
  • [+1]0
  • [-1]0
  • @Buzzer Sorry maar ik heb het 10 duizend keer gelezen en geprobeerd, maar het lukt nog steeds niet. Zou je me aub een stuk op weg willen helpen met een voorbeeld code en dat ik het daarna zelf uit vogel?

    gertmenkel

    • Actief DigitalPlace Lid
    • **
    • Berichten: 1125
    • Karma: 131
      • Bekijk profiel
    Re: Java Vraagje
    « Reactie #10 Gepost op: september 20, 2015, 11:04:47 pm »
  • [+1]0
  • [-1]0
  • @Buzzer Sorry maar ik heb het 10 duizend keer gelezen en geprobeerd, maar het lukt nog steeds niet. Zou je me aub een stuk op weg willen helpen met een voorbeeld code en dat ik het daarna zelf uit vogel?

    Stel je hebt twee strings:
    String s1 = "100";
    String s2="200";

    Omdat dit strings (= tekst) is, kun je ze niet zomaar vergelijken. De String "100" wordt (ongeveer) opgeslagen als [0x31, 0x30, 0x30, 0x00] in het geheugen en "200" als [0x32, 0x30, 0x30, 0x00]. Dit valt niet zo makkelijk te vergelijken dus!

    Als je de strings vergelijkt als nummers zal Java wat doen op basis van hun ANSI tekencodes of iets anders onbedoelds.
    Wat jij wilt doen is de strings interpreteren als een getal. Dat kan door er integers van te maken, en dat kan bijvoorbeeld met Integer.Parse:
    String s1 = "100"; // "100"
    String s2="200"; // "200"
    int i1 = Integer.Parse(s1); // 100
    int i2 = Integer.Parse(s2); // 200
    int grootste = Math.max(i1,i2);
    int kleinste = Math.min(i1,i2);

    Nu dit ints zijn kun je ermee doen wat je wilt: je kunt de grootste of de kleinste pakken, je kunt ze optellen, van elkaar aftrekken, vermenigvuldigen, wat je maar wilt.
    « Laatst bewerkt op: september 22, 2015, 11:03:16 pm door gertmenkel »
    ThePirateBay AFK
    Bekijk de vrije en gratis documentaire!