abonnement Unibet Coolblue Bitvavo
pi_35556194
Leer je hier wel wat van
  maandag 27 februari 2006 @ 21:28:18 #152
108558 Messenga
goeiendag wat een geheel!
pi_35556229
quote:
Op maandag 27 februari 2006 21:27 schreef gelly het volgende:
Leer je hier wel wat van
Jawel, alles wat ik nu leer hoeft later niet meer vertelt te worden .
pi_35556280
Nee, ik bedoel, snap je wel wat je doet ?
  maandag 27 februari 2006 @ 21:33:07 #154
108558 Messenga
goeiendag wat een geheel!
pi_35556398
quote:
Op maandag 27 februari 2006 21:29 schreef gelly het volgende:
Nee, ik bedoel, snap je wel wat je doet ?
Ja, die "\n"zorgt voor een harde return.
pi_35556451
quote:
Op maandag 27 februari 2006 21:33 schreef Messenga het volgende:

[..]

Ja, die "\n"zorgt voor een harde return.
Ik doelde meer op b.v. de for-loop .. Het zijn namelijk vrij standaard dingetjes in Java..
  maandag 27 februari 2006 @ 21:38:11 #156
108558 Messenga
goeiendag wat een geheel!
pi_35556569
quote:
Op maandag 27 februari 2006 21:34 schreef gelly het volgende:

[..]

Ik doelde meer op b.v. de for-loop .. Het zijn namelijk vrij standaard dingetjes in Java..
Ja, dat begrijp ik.

Bedankt .
  dinsdag 28 februari 2006 @ 22:07:05 #157
88418 _Xbox_Master_
Low frequency specialist
pi_35588820
Ik ben bezig met een opdracht voor school ik heb nu alles geprogrameerd en ik wil nu de fouten eruit gaan halen en ik krijg bij elke class die ik compileer de volgende soort foutmelding

Het lijkt wel of die de andere classes niet kan vinden terwijl ze gewoon in dezelfde map staan


C:\Documents and Settings\Admin\Desktop\School\OGO\postorder\Apl.java
Apl.java:3: cannot find symbol
symbol : class PostorderBedrijf
location: class Apl
PostorderBedrijf POB = new Postorderbedrijf();
^
Apl.java:3: cannot find symbol
symbol : class Postorderbedrijf
location: class Apl
PostorderBedrijf POB = new Postorderbedrijf();
^
Apl.java:4: cannot find symbol
symbol : class GUI
location: class Apl
GUI pobGUI = new GUI(POB);
^
Apl.java:4: cannot find symbol
symbol : class GUI
location: class Apl
GUI pobGUI = new GUI(POB);
^
4 errors
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35589829
Let eens op hoofdlettergebruik .. je gebruikt zowel PostorderBedrijf als Postorderbedrijf. En heb je wel een klasse GUI gemaakt ?
  dinsdag 28 februari 2006 @ 22:36:07 #159
88418 _Xbox_Master_
Low frequency specialist
pi_35589997
quote:
Op dinsdag 28 februari 2006 22:31 schreef gelly het volgende:
Let eens op hoofdlettergebruik .. je gebruikt zowel PostorderBedrijf als Postorderbedrijf. En heb je wel een klasse GUI gemaakt ?
Die hoofdletters had ik nog niet gezien, veranderd maar de fouten blijven.
En ik heb een class GUI ja. Als je die probeert te compileren geeft die dezelfde soort foutmelding maar dan met de classes Klant en Artikel
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35590134
Heb je wel een package declaratie in de code van de classes staan ? Anders moet je ze importeren...
  dinsdag 28 februari 2006 @ 22:41:09 #161
88418 _Xbox_Master_
Low frequency specialist
pi_35590188
quote:
Op dinsdag 28 februari 2006 22:39 schreef gelly het volgende:
Heb je wel een package declaratie in de code van de classes staan ? Anders moet je ze importeren...
wat bedoel je daar precies mee?

Deze packages heb ik geimporteerd in elke class:

import nl.hen.ict.assertion.Assertion;
import java.util.*;
import nl.hen.ict.gui.*;

Dingen van school enzo
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35590552
waar staat je PostorderBedrijf class?
pi_35590626
Zet eens in alle classes bovenaan package testpackage;

En zet alle bestanden dan in een directory die zo heet.
  dinsdag 28 februari 2006 @ 22:51:17 #164
88418 _Xbox_Master_
Low frequency specialist
pi_35590628
quote:
Op dinsdag 28 februari 2006 22:49 schreef Scorpie het volgende:
waar staat je PostorderBedrijf class?
in dezelfde map

Apl.class
GUI.class
PostorderBedrijf.class
Klant.class
Artikel.class
Bestelling.class
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 22:55:37 #165
88418 _Xbox_Master_
Low frequency specialist
pi_35590814
quote:
Op dinsdag 28 februari 2006 22:51 schreef gelly het volgende:
Zet eens in alle classes bovenaan package testpackage;

En zet alle bestanden dan in een directory die zo heet.
Daar geeft ie geen foutmeldingen op dus ik kan aannemen dat de packages goed zijn?
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35591001
quote:
Op dinsdag 28 februari 2006 22:55 schreef _Xbox_Master_ het volgende:

[..]

Daar geeft ie geen foutmeldingen op dus ik kan aannemen dat de packages goed zijn?
Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
pi_35591045
quote:
Op dinsdag 28 februari 2006 22:59 schreef gelly het volgende:

[..]

Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
Als ze allemaal packageloos zijn staan ze in de default package en kunnen ze elkaar ook "zien". Niet netjes natuurlijk, maar voor de gemiddelde huiswerkopdracht van veertig regels goed genoeg.
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_35591253
quote:
Op dinsdag 28 februari 2006 23:00 schreef Litpho het volgende:

[..]

Als ze allemaal packageloos zijn staan ze in de default package en kunnen ze elkaar ook "zien". Niet netjes natuurlijk, maar voor de gemiddelde huiswerkopdracht van veertig regels goed genoeg.
Ik doe het altijd standaard Voorkomt dit soort foutjes..
  dinsdag 28 februari 2006 @ 23:06:53 #169
88418 _Xbox_Master_
Low frequency specialist
pi_35591286
quote:
Op dinsdag 28 februari 2006 22:59 schreef gelly het volgende:

[..]

Door er een package van te maken zorg je ervoor dat de classes elkaar kunnen "zien". Je moet het uiteraard nog wel testen...
ah ok, ik snap het
Alleen het werkt helaas niet

Apl.java:10: cannot find symbol
symbol : class GUI
location: class testpackage.Apl
GUI pobGUI = new GUI(POB);

en in alle classes nog een zooi van dit soort foutmeldingen
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35591333
Post de hele code eens, dan is het wat makkelijker op te lossen.
  dinsdag 28 februari 2006 @ 23:15:58 #171
88418 _Xbox_Master_
Low frequency specialist
pi_35591600
Apl.java:
1
2
3
4
5
6
7
8
9
10
import java.util.*;
import nl.hen.ict.assertion.Assertion;
import nl.hen.ict.gui.*;

public class Apl{
   public static void main(String[] args) {
      PostorderBedrijf POB = new PostorderBedrijf();
      GUI pobGUI = new GUI(POB);
   }
}


GUI.java
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import nl.hen.ict.assertion.Assertion;
import java.util.*;
import nl.hen.ict.gui.*;

public class GUI implements UseCaseHandler {
   
   private PostorderBedrijf postorderbedrijf;
   
   public GUI(PostorderBedrijf ditPOB) {
      postorderbedrijf = ditPOB;
      UseCase useCase = new UseCase("Opgave Bank A", this);
         useCase.addUseCase("Voeg Klant toe");
         useCase.addUseCase("Voeg Artikel toe");
         useCase.addUseCase("Bestel Artikel");
         useCase.addUseCase("Laat Schuld Klant zien");
         useCase.addUseCase("Laat Totale schuld van Alle Klanten zien");
      useCase.show();
   }

   public void handleUseCase(String useCaseName) {  //must be implemented
      if (useCaseName.equals("Voeg Klant toe")) {
         VoegKlantToe();
      } else {
         if (useCaseName.equals("Voeg Artikel toe")) {
            VoegArtikelToe();
         } else {
            if (useCaseName.equals("Bestel Artikel")) {
               BestelArtikel();
            } else {
               if (useCaseName.equals("Laat Schuld Klant zien")) {
                  OverzichtSchuld();
               } else {
                  if (useCaseName.equals("Laat Totale schuld van Alle Klanten zien")) {
                     TotaleSchuld();
                  }      
               }
            }
         }
      }
   }
   
   private void VoegKlantToe() {
      Questioner questioner = new Questioner("Invoer nieuwe Klant");
         questioner.addString("Naam","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if (questioner.isOk()) {
            String naam = questioner.getString("Naam");
            postorderbedrijf.voegKlantToe(naam);   // geen controle op dubbelingen
            validInput = true;
         }
      }
   }
   
   public void VoegArtikelToe() {
      Questioner questioner = new Questioner("Invoer nieuw Artikel");
         questioner.addInt("Artikelnummer", 1000);
         questioner.addInt("Prijs", 0);
         questioner.addString("Omschrijving","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if (questioner.isOk()) {
            int artikelnummer = questioner.getInt("Artikelnummer");
            int prijs = questioner.getInt("Prijs");
            String omschrijving = questioner.getString("Omschrijving");
            postorderbedrijf.VoegArtikelToe(artikelnummer, prijs, omschrijving);   // geen controle op dubbelingen
            validInput = true;
         }
      }
   }
   
   public void BestelArtikel() {
      Questioner questioner = new Questioner("Bestel Artikel");
         questioner.addInt("Artikelnummer", 1000);
         questioner.addString("Klantnaam","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if (questioner.isOk()) {
            int artikelnummer = questioner.getInt("Artikelnummer");
            String naam = questioner.getString("Klantnaam");
            Klant klant = postorderbedrijf.geefKlant(naam);   // geen controle op dubbelingen
            Artikel artikel = postorderbedrijf.geefArtikel(artikelnummer);
            klant.bestel(artikel);
            validInput = true;
         }
      }
   }
   public void OverzichtSchuld() {
      Questioner questioner = new Questioner("Overzicht schuld");
         questioner.addString("Klantnaam","");
      boolean validInput = false;
      while (!validInput && !questioner.isCancelled()) {
         questioner.show();
         if(questioner.isOk()) {
            String naam = questioner.getString("Klantnaam");
            Klant klant = postorderbedrijf.geefKlant(naam);
            int bedrag = klant.schuld();
            Reporter reporter = new Reporter("Overzicht Schuld", 10, 40);
            reporter.println("De schuld van "+naam+" is: " +bedrag);
            reporter.show();
            validInput = true;
         }
      }      
   }
   
   public void TotaleSchuld() {
      Reporter reporter = new Reporter("Totale Schuld", 10, 80);
         int bedrag = postorderbedrijf.schuldKlanten();
         reporter.println("Schuld alle Klanten: "+bedrag);
         reporter.show();
   }
   
}
   


PostorderBedrijf.java
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.util.*;
import nl.hen.ict.gui.*;
import nl.hen.ict.assertion.Assertion;

class PostorderBedrijf {
      
   private Map <Klant> klanten  = new HashMap <Klant> ();
   private Map <Artikel> artikelen  = new HashMap <Artikel> ();
   
   public PostorderBedrijf() {
   
   }

   public void voegKlantToe(String deNaam) {
      Assertion.require(deNaam != null, "Er is geen naam meegegeven");
      Klant deKlant = new Klant(deNaam);
      klanten.put(deNaam, deKlant);
   }
      
   public void voegArtikelToe(int hetNummer, double dePrijs, String omschrijving) {
      Assertion.require(hetNummer != 0 && dePrijs != 0, "Er is geen prijs of nummer meegegeven");
      Artikel hetArtikel = new Artikel(hetNummer, dePrijs, omschrijving);
      artikelen.put(hetNummer, hetArtikel);
   }

   public int schuldKlanten() {
      Iterator i  = klanten.values().iterator();
      Klant deKlant;
      int totaal = 0;
      while(i.hasNext()) {
         deKlant = (Klant) i.next();
         bedrag = deKlant.schuld();
         totaal = totaal + bedrag;
      }
      return totaal;
   }
   
   public Klant geefKlant(String naam) {
      Klant klant = (Klant) klanten.get(naam);
      return Klant;   
   }
   
   public Artikel geefArtikel(int hetNummer) {
      Artikel artikel = (Artikel) artikelen.get(nummer);
      return artikel;
   }
   
}


Artikel.java
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
import nl.hen.ict.assertion.Assertion;
import java.util.*;
import nl.hen.ict.gui.*;

class Artikel {
   private int artikelnummer;
   private int prijs;
   private String omschrijving;
   
   public Artikel(int hetNummer, int dePrijs, String deOmschrijving) {
      Assertion.require(hetNummer > 1000 && hetNummer <= 9999, "Artikelnummer is niet goed");
      Assertion.require(dePrijs >= 0, "Geen prijs opgegeven");
       artikelnummer = hetNummer;
      prijs = dePrijs;
      omschrijving = deOmschrijving;
      Assertion.ensure(artikelnummer == hetNummer && prijs == dePrijs, "Artikelnummer en prijs niet correct");
    }

   public int getPrijs() {
      return prijs;
   }

   public String getOmschrijving() {
      return omschrijving;
   }
}


Klant.java
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
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.*;
import nl.hen.ict.assertion.Assertion;
import nl.hen.ict.gui.*;

class Klant {
   private String naam;
   private Map <Bestelling> bestellingen = new HashMap <Bestelling> ();
   private int schuld;

   public Klant(String deNaam) {
      Assertion.require(deNaam != null, "Er is geen naam meegegeven");
      naam = deNaam;
      Assertion.ensure(naam.equals(deNaam), "Naam is correct");
   }

   public void bestel(Artikel eenArtikel) {
      Assertion.require(eenArtikel != null, "Er is geen Artikel meegegeven");
      int bestelnummer = getLaatsteBestelNummer() + 1;
      Bestelling deBestelling = new Bestelling(eenArtikel, bestelnummer);
      bestellingen.put(bestelnummer, eenArtikel);   
   }

   public int schuld() {
      Bestelling bestelling;
      Iterator i = bestellingen.values().iterator();
      while(i.hasNext() ) {
         bestelling = (Bestelling) i.next();
         int bedrag = bestelling.getKosten();
         schuldklant = schuld + bedrag;
      }
      return schuldklant;   
   }

   public int getLaatsteBestelNummer() {
      Iterator i = bestellingen.values().iterator();
      Bestelling bestelling;
      while(i.hasNext()) {
         bestelling = (Bestelling)i.next();
         int nummer = bestelling.getBestelnummer();
      }   
      return nummer;
   }
}


Bestelling.java

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.util.*;
import nl.hen.ict.assertion.Assertion;
import nl.hen.ict.gui.*;

class Bestelling {
      
      private int bestelnummer;
      private Artikel artikel;
      
      public Bestelling(int hetBestelnummer, Artikel hetArtikel) {
         bestelnummer = hetBestelnummer;
         artikel = hetArtikel;
      }
      
      public int getBestelnummer() {
         return bestelnummer;
      }
      
      public int getKosten() {
         int bedrag = artikel.getPrijs();
         return bedrag;
      }
}
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 23:16:39 #172
88418 _Xbox_Master_
Low frequency specialist
pi_35591626
Er zullen vast nog wel een zooi andere fouten in zitten maar ik wil graag dat de andere classes herkent worden
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35591906
Is dat de oude of nieuwe code ?
  dinsdag 28 februari 2006 @ 23:26:38 #174
88418 _Xbox_Master_
Low frequency specialist
pi_35591951
quote:
Op dinsdag 28 februari 2006 23:25 schreef gelly het volgende:
Is dat de oude of nieuwe code ?
zonder deze regel: package testpackage;
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
pi_35592403
En je ClassPath verwijst ook naar de dir waar de classes staan ?
  dinsdag 28 februari 2006 @ 23:42:06 #176
88418 _Xbox_Master_
Low frequency specialist
pi_35592504
quote:
Op dinsdag 28 februari 2006 23:38 schreef gelly het volgende:
En je ClassPath verwijst ook naar de dir waar de classes staan ?
Mijn classpath verwijst naar de dir waar de nl.hen.ict packages staan die ik overal importeer.
Ik verander die wel even om te kijken of ie het dan doet
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 23:44:32 #177
88418 _Xbox_Master_
Low frequency specialist
pi_35592589
nee
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  dinsdag 28 februari 2006 @ 23:46:11 #178
88418 _Xbox_Master_
Low frequency specialist
pi_35592638
Ik probeer het morgen op school wel op de Linux computers, ik heb genoeg java gedaan voor vandaag
In ieder geval bedankt voor je hulp
~ Grolsch flesjes bewegen onevenredig niet significant met de treinrichting
  woensdag 15 maart 2006 @ 20:11:51 #179
108558 Messenga
goeiendag wat een geheel!
pi_36066698
Nou, ik kom me ook weer eens melden . Feest .


Met de volgende code heb ik een leuke code die van Decimaal naar binair gaat.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
   A basic extension of the java.applet.Applet class
 */

import java.awt.*;
import java.applet.*;

public class Applet1 extends Applet
{
   public void init()
   {
      // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
      symantec.itools.lang.Context.setApplet(this);
   
      // This code is automatically generated by Visual Cafe when you add
      // components to the visual environment. It instantiates and initializes
      // the components. To modify the code, only use code syntax that matches
      // what Visual Cafe can generate, or Visual Cafe may be unable to back
      // parse your Java file into its visual environment.
      //{{INIT_CONTROLS
      setLayout(null);
      setBackground(java.awt.Color.lightGray);
      setSize(426,266);
      add(decimaalGetalVeld);
      decimaalGetalVeld.setBounds(228,48,132,42);
      add(binairGetalVeld);
      binairGetalVeld.setBounds(228,120,132,42);
      ConversieButton.setLabel("Decimaal -> Binair");
      add(ConversieButton);
      ConversieButton.setBackground(java.awt.Color.lightGray);
      ConversieButton.setBounds(36,192,168,49);
      label1.setText("Decimaal Getal");
      add(label1);
      label1.setFont(new Font("Dialog", Font.PLAIN, 20));
      label1.setBounds(24,48,161,34);
      label2.setText("Binair Getal : ");
      add(label2);
      label2.setFont(new Font("Dialog", Font.PLAIN, 20));
      label2.setBounds(24,120,161,34);
      BinDecButton.setLabel("Binair -> Decimaal");
      add(BinDecButton);
      BinDecButton.setBackground(java.awt.Color.lightGray);
      BinDecButton.setBounds(228,192,168,49);
      //}}
   
      //{{REGISTER_LISTENERS
      SymAction lSymAction = new SymAction();
      ConversieButton.addActionListener(lSymAction);
      BinDecButton.addActionListener(lSymAction);
      //}}
   }
   
   //{{DECLARE_CONTROLS
   java.awt.TextField decimaalGetalVeld = new java.awt.TextField();
   java.awt.TextField binairGetalVeld = new java.awt.TextField();
   java.awt.Button ConversieButton = new java.awt.Button();
   java.awt.Label label1 = new java.awt.Label();
   java.awt.Label label2 = new java.awt.Label();
   java.awt.Button BinDecButton = new java.awt.Button();
   //}}

   class SymAction implements java.awt.event.ActionListener
   {
      public void actionPerformed(java.awt.event.ActionEvent event)
      {
         Object object = event.getSource();
         if (object == ConversieButton)
            ConversieButton_ActionPerformed(event);
         else if (object == BinDecButton)
            BinDecButton_ActionPerformed(event);
      }
   }

   void ConversieButton_ActionPerformed(java.awt.event.ActionEvent event)
   {
       int decGetal = Integer.parseInt(decimaalGetalVeld.getText());
       String resultaat = "" ;
       do
       {
           if (decGetal % 2==0)
           resultaat = "0" + resultaat;
           else
           { 
               resultaat = "1" + resultaat;
               decGetal --;
           }
           decGetal = decGetal / 2;
       }
       while (decGetal >0);
       binairGetalVeld.setText(resultaat);
       
      // Eerst zet hij de int van het gehele decimale getal om in een tekstvorm door middel
      // van parseInt. Die haalt hij uit het DecimaalGetalVeld.
      // vervolgens kijkt hij of het resultaat wat je krijgt te delen is door 2 waarna je 
      // een rest getal van 0 krijgt. Is dit zo dan geeft hij het resultaat in het BinairGetalVeld.
      // Anders doet hij daar nog 1 bij op om hem wel te kunnen converteren in een WEL geheel 
      // binair getal. Dit resultaat komt uiteraard in het het binairGetalVeld.
      
   }

   void BinDecButton_ActionPerformed(java.awt.event.ActionEvent event)
   {
      // to do: code goes here.
   }
}


Die werkt ook.

Maar nu moet ik dat andersom doen. Dus van Binair naar Decimaal. Maar ik heb geen idee hoe .

Instructies: Maak gebruik van de String 'lenght(); ' en substring (int,int).

Anyone?
pi_36067757
quote:
Op woensdag 15 maart 2006 20:11 schreef Messenga het volgende:
Nou, ik kom me ook weer eens melden . Feest .


Met de volgende code heb ik een leuke code die van Decimaal naar binair gaat.
[ code verwijderd ]

Die werkt ook.

Maar nu moet ik dat andersom doen. Dus van Binair naar Decimaal. Maar ik heb geen idee hoe .

Instructies: Maak gebruik van de String 'lenght(); ' en substring (int,int).

Anyone?
Gewoon, optellen. Zoiets als hieronder dus.
1
2
3
4
5
6
7
8
9
10
11
public long binToDec(String bin) {
  long decimaal = 0;

  for ( int i=0; i < bin.length(); i++ ) {
    if ( bin.substring( i, i+1 ).equals("1") ) {
      decimaal += Math.round( Math.pow( 2, i ) );
    }
  }

  return decimaal;
}
"If you are depressed you shouldn't be in C major!" - Rick Beato
  woensdag 15 maart 2006 @ 20:46:21 #181
108558 Messenga
goeiendag wat een geheel!
pi_36067847
Ohja . Was vergeten te zeggen dat het in Actionpeformed moet. Of maakt dat niet uit?
pi_36067877
quote:
Op woensdag 15 maart 2006 20:46 schreef Messenga het volgende:
Ohja . Was vergeten te zeggen dat het in Actionpeformed moet. Of maakt dat niet uit?
Ik zie hier een nobele taak voor je .
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_36067975
Vergeet je niet de String om te draaien voordat je het uitrekend Litpho? Ik dacht dat de berekening van achteren naar voren ging?
pi_36067987
quote:
Op woensdag 15 maart 2006 20:50 schreef HuHu het volgende:
Vergeet je niet de String om te draaien voordat je het uitrekend Litpho?
Duh. Natuurlijk vergeet ik dat wel .
"If you are depressed you shouldn't be in C major!" - Rick Beato
  woensdag 15 maart 2006 @ 20:56:32 #185
108558 Messenga
goeiendag wat een geheel!
pi_36068170
Daar gaan we weer.. Errors.. love it .

Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(102): '}' expected.
{ public long binToDec(String bin) {
^
Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(102): Statement expected.
{ public long binToDec(String bin) {
^
Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(116): Class or interface declaration expected.
}
^
Error: D:\Documents and Settings\Niek \Mijn documenten\School\Opdracht 45\Applet1.java(70): Method BinDecButton_ActionPerformed(java.awt.event.ActionEvent) not found in inner class Applet1. SymAction.
BinDecButton_ActionPerformed(event);
^
4 errors
Build Failed
pi_36071532
Het lijkt net of je een methode binnen een methode aan het declareren bent. Daar lijken de fouten op in elk geval. dus bijvoorbeeld

public int blaat() {
publicl long binToDec(String bin) {
return 0;
}
return 0;
}

Ik denk dat je dat doet ipv de 2 methodes onder elkaar zetten.
  maandag 10 april 2006 @ 16:18:56 #187
108558 Messenga
goeiendag wat een geheel!
pi_36825895
.


Voor school weer eens een vraagje



Hele leuke applet.

Hoe zorg ik ervoor dat die radiobuttons het doen? Zodat het gehele veld die kleur wordt, met uitzondering van het radio button veld zelf?
pi_36826744
Door een eventhandler aan je radiobuttongroup te hangen he
  maandag 10 april 2006 @ 16:44:53 #189
108558 Messenga
goeiendag wat een geheel!
pi_36826818
quote:
Op maandag 10 april 2006 16:42 schreef gelly het volgende:
Door een eventhandler aan je radiobuttongroup te hangen he
Ja goh, maar hoe ziet de code er ongeveer uit ?
pi_36827556
quote:
Op maandag 10 april 2006 16:44 schreef Messenga het volgende:

[..]

Ja goh, maar hoe ziet de code er ongeveer uit ?
Daar zijn meerdere manieren voor...

In het geval van een JRadioButto :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mijnRadioButton.addChangeListener(new javax.swing.event.ChangeListener()
  {
      public void stateChanged(ChangeEvent e)
        {
            mijnRadioButton_stateChanged(e)
       }
});

En dan ergens anders in je applet een methode 

private void mijnRadioButton_stateChanged(ChangeEvent e)

{

    \\hier de code die de kleur moet veranderen..

}


Uit m'n hoofd dus pin me d'r niet op vast
  maandag 10 april 2006 @ 17:12:31 #191
108558 Messenga
goeiendag wat een geheel!
pi_36827760
Het is een gewone Radio button, van een AWT applet, verandert dat de zaak ?
pi_36827990
Changelistener wordt dan ItemListener, stateChanged itemStateChanged en ChangeEvent ItemEvent.. javax.swing.event wordt java.awt.event
  maandag 10 april 2006 @ 18:54:41 #193
108558 Messenga
goeiendag wat een geheel!
pi_36830886
Ja, hij veranderd al .

Alleen maar heel kort .

Ik klik op de radiobutton, hij verandert et kleurtje voor 1 sec. en dan gaat ie weer terug naar de oorspronkelijke kleur
pi_36835304
Even iets waarschijnlijks heel doms, maar ik ben net begonnen met Java en ben bezig met een 3d engine.

Ik heb het 3d draw gedeelte al voor elkaar, maar nu is er een klein probleem:

Om het perspectief te berekenen gebruik ik de volgende formule: perspectief = schaal/(schaal-z) waarvan z de z coordinaat is.

Omdat hier zeer kleine waarden kunnen uitkomen heb ik dit getal als double gedeclareerd.
Maar nu moet hier uiteindelijk weer een integer van gemaakt worden, omdat anders de draw-coordinaat een double is.

Ik probeer nu op allerhande manieren hier weer een integer van te maken, maar dit lijkt wel zowat onmogelijk.

Is er toevallig iemand die mij dit uit kan leggen?

Dank jullie wel.
pi_36836294
Heb het al. Altijd lastig een nieuwe taal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   void drawLine(int x1, int y1,int z1, int x2, int y2, int z2, Graphics g) {      
      double    px1 = x1 * perspective(z1),
            px2 = x2 * perspective(z2),
            py1 = y1 * perspective(z1),
            py2 = y2 * perspective(z2);   
            int ipx1 = (int)px1;
            int ipx2 = (int)px2;
            int ipy1 = (int)py1;
            int ipy2 = (int)py2;
            g.drawLine(ipx1,ipy1,ipx2,ipy2);
   }
   
   double perspective(int z) {
      double p = (double)s/((double)s-(double)z);
      return p;
   }
pi_36842558
Je weet dat Java een 3D-API heeft ?
  dinsdag 11 april 2006 @ 10:35:42 #197
85129 dikkedorus
connaisseur van de wansmaak
pi_36848650
Werk met transformatie matrices ipv zelf al die vermenigvuldigingen te doen. Als je echt serieus een engine wilt maken.
Mini smilies tool voor alle [sub] en [sup] liefhebbers.
pi_36855902
quote:
Op dinsdag 11 april 2006 10:35 schreef dikkedorus het volgende:
Werk met transformatie matrices ipv zelf al die vermenigvuldigingen te doen. Als je echt serieus een engine wilt maken.
Wat houdt dit dan in? of heb je misschien een linkje naar een artikel over dit onderwerp?
  dinsdag 11 april 2006 @ 14:59:21 #199
67478 Radjesh
Dire Straits!
pi_36855956
tvp
  woensdag 12 april 2006 @ 09:26:58 #200
8152 Gabberhead
Komm in mein Boot
pi_36878888
Ook even tvp... Ik ben zelf bezig om Java te leren voor m'n werk, maar ik blijf het lastig vinden.
Oracle en Java ontwikkelaars hier melden! http://www.oracletoppers.nl of http://www.javatoppers.nl
Nu ook op http://www.flitspaal.nl
pi_37092556
Ik moet voor me opleiding nu programmeren met Java. Nou moet ik binnenkort een lesje missen dus dacht ik die les thuis alvast te maken maar nou loop ik helemaal in de shit met het instaleren van java.

Op zich werkt alles, java compiled me files probleemloos. Maar zodra ik me file execute zegt die java.lang.NoClassDefFoundError: Part3
Exception in thread "main"

Nou zal het dus wel liggen aan de library die we gebruiken voor die functies maar ik kan echt niet vinden wat ik fout heb gedaan ik heb alles geinstalleerd volgens deze manual: http://sepc.twi.tudelft.n(...)handleiding-2006.pdf
Is er iemand die na aanzien van mijn foutmelding kan zien wat ik fout doe en me misschien kan helpen?
pi_37092792
je moet wat code gaan pasten
  woensdag 19 april 2006 @ 13:03:57 #203
25527 FallenAngel666
Think of the kittens!
pi_37092842
Naar alle waarschijnlijkheid is er iets mis met de configuratie van je classpath.
Probeer je te runnen vanuit een IDE (zo ja welke?) of vanaf de commandline?
Signature:
Maximaal
4
regels
pi_37093400
Jeetje ingewikkelde taal daar was ik al bang voor :p. Ik geloof dat je je afvraagt welke editor ik gebruik voor het runnen, dat is Context maar ik heb het ook geprobeerd met dos en daar kreeg ik precies dezelfde fout.

Ik dacht zelf ook al dat er iets mis was met me classpath, ik heb het geprobeerd precies zo te doen als in die manual staat met dit als resultaat:



Zien jullie daar misschien toch nog een foutje in?
Die andere java file die in die omgevingsvariabelen staan stond er al en had ik maar laten staan, dat leek me het beste maar misschien werkt die tegen ofzo?

De code die ik probeer te runnen is gewoon die testcode:
1
2
3
4
5
6
7
8
9
import element.*;

public class Test
{
       public static void main(String[] args)
       {
         System.out.println("Dit is een test");
       }
}
  woensdag 19 april 2006 @ 13:35:05 #205
8152 Gabberhead
Komm in mein Boot
pi_37093670
In je classpath staat C:\j2sdk1.4.2.11\ en C:\j2sdk1.4.2_11\
In je PATH is het C:\j2sdk1.4.2_11\

Eentje daarvan is fout en de andere niet. Mijn vermoeden is dat de entries met de underscore goed zijn

Sterker nog, ik denk dat je de stukjes met element.zip er helemaal uit kan halen. Een path kijkt naar een directory en de files die er in staan. Niet naar een file direct.
Oracle en Java ontwikkelaars hier melden! http://www.oracletoppers.nl of http://www.javatoppers.nl
Nu ook op http://www.flitspaal.nl
pi_37093706
quote:
Op woensdag 19 april 2006 13:35 schreef Gabberhead het volgende:
In je classpath staat C:\j2sdk1.4.2.11\ en C:\j2sdk1.4.2_11\
In je PATH is het C:\j2sdk1.4.2_11\

Eentje daarvan is fout en de andere niet. Mijn vermoeden is dat de entries met de underscore goed zijn
Ik wilde het net zeggen, check dat even na!
pi_37093964
Bedankt dat jullie effe meekijken. Dat was idd een foutje de underscore is goed, heb het verbeterd maar nog steeds hetzelfde probleem. Verder nog ideeen?
  woensdag 19 april 2006 @ 13:56:28 #208
25527 FallenAngel666
Think of the kittens!
pi_37094179
In het classpath (systeemvariabele) moet je de Program Files entry voor de JRE/lib directory eens tussen aanhalingstekens zetten. Spaties vind ie niet leuk.
Ook zou ik . (huidige directory) daarin opnemen.

Zoiets bijvoorbeeld:

1CLASSPATH = .;"C:\Program Files\Java\jre1.5.0_04\lib"


[ Bericht 33% gewijzigd door FallenAngel666 op 19-04-2006 14:08:40 ]
Signature:
Maximaal
4
regels
pi_37095450
Ahhh geweldig! Het alg aan die .; aan het begin, het werkt nu als een tiet . Bedankt voor jullie hulp!
  woensdag 19 april 2006 @ 15:07:01 #210
25527 FallenAngel666
Think of the kittens!
pi_37096047
Dat krijg je als je een teksteditor gebruikt voor applicatie ontwikkeling in plaats van een volwaardige IDE, zoals Eclipse. Die regelt dat lekker voor je
Signature:
Maximaal
4
regels
pi_37096205
Ja vertaal dat maar aan de docenten van het vak . Ik moet al me code in context laten zien en mondeling onderbouwen dus kan ik dat volgens mij ook het beste thuis maar zo doen. Ik ga vanavond eens aan de slag en zal hier vast nog wel eens terug te vinden zijn met een andere java vraag .
pi_37096239
quote:
Op woensdag 19 april 2006 15:07 schreef FallenAngel666 het volgende:
Dat krijg je als je een teksteditor gebruikt voor applicatie ontwikkeling in plaats van een volwaardige IDE, zoals Eclipse. Die regelt dat lekker voor je
Idd Build Automatically
  woensdag 19 april 2006 @ 15:37:06 #213
25527 FallenAngel666
Think of the kittens!
pi_37096963
quote:
Op woensdag 19 april 2006 15:13 schreef Scorpie het volgende:

[..]

Idd Build Automatically
Dat heb ik een keer per ongeluk uitgezet.
Ik m'n code blijven veranderen en runnen en de wijzigingen maar niet willen werken...
Voordat ik er achter was dat ik continu een 'dirty build' aan't runnen was
Signature:
Maximaal
4
regels
  zaterdag 22 april 2006 @ 14:31:13 #214
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37184961
http://tsdb.wto.org/wto/P(...)Report3?OpenFrameSet

Ik wil op deze site kijken, maar ik zie alleen een kruisje. Ik ben al op de Java-site geweest en alles gedownload wat mogelijk is, maar ik zie nog steeds dat achterlijke kruisje. Heeft iedereen hier dat probleem of ben ik de enige?
pi_37185205
interesant
  zaterdag 22 april 2006 @ 14:53:01 #216
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37185434
Schopje
pi_37186412
Heb je je browser al opnieuw opgestart ?
  zaterdag 22 april 2006 @ 15:42:03 #218
17897 Cart_man
Love to be hated
pi_37186447
Laat ik maar een hele late tvp plaatsen.

Binnenkort weer aan de slag met java voor studie. Kan er nog steeds niks van.
A.M.A.B
  zaterdag 22 april 2006 @ 15:54:35 #219
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37186691
quote:
Op zaterdag 22 april 2006 15:40 schreef gelly het volgende:
Heb je je browser al opnieuw opgestart ?
Ja... maar ik heb het probleem ook op een andere computer... lukt het jou wel dan?
pi_37186781
Ik zie geen kruisje maar een groot wit vlak.. Die site is rot volgens mij...
quote:
<HTML>
<!-- Lotus-Domino (Release 5.0.2a (Intl) - 23 November 1999 on Windows NT/Intel) -->
<HEAD>
  zaterdag 22 april 2006 @ 16:00:25 #221
10086 Heerlijkheid
gebiedt mij te zeggen
pi_37186804
Alles willen moderniseren maar dan zelf niet in staat zijn om iets fatsoenlijks te produceren?
pi_37186880
Maar goed, echt veel met Java heeft het niet te maken
pi_37187210
Ik kan trouwens wel wat in java programmeren
pi_37187228
Bedankt voor deze nuttige bijdrage !
pi_37292401
Misschien een domme vraag, maar ik kom er niet uit:
ik heb een double, en die wil ik graag in een textfield krijgen. Nou wil .setText() alleen maar strings gevoerd krijgen. Hoe moet ik nou die double converteren naar een string? Iemand een idee?
pi_37292567
quote:
Op dinsdag 25 april 2006 21:04 schreef teehknaL het volgende:
Misschien een domme vraag, maar ik kom er niet uit:
ik heb een double, en die wil ik graag in een textfield krijgen. Nou wil .setText() alleen maar strings gevoerd krijgen. Hoe moet ik nou die double converteren naar een string? Iemand een idee?
Er is een smerig truucje voor, dat is deze:

.setText("" + deDouble );

Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:

.setText(String.valueOf(deDouble));
pi_37294016
quote:
Op dinsdag 25 april 2006 21:09 schreef HuHu het volgende:
Er is een smerig truucje voor, dat is deze:

.setText("" + deDouble );

Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:

.setText(String.valueOf(deDouble));
Hee thanx!
pi_37297452
quote:
Op dinsdag 25 april 2006 21:09 schreef HuHu het volgende:

[..]

Er is een smerig truucje voor, dat is deze:

.setText("" + deDouble );

Hierbij wordt de double automatisch naar een Sting omgezet, omdat je deze met de + aan een (lege) string plakt. En de nette manier is:

.setText(String.valueOf(deDouble));
parseDouble
pi_37298885
quote:
Op dinsdag 25 april 2006 23:01 schreef ARKON het volgende:
parseDouble
parseDouble gebruik ik de andere kant op
1
2
String str = diameterTextField.getText();
double diameter = Double.parseDouble(str);

of kan het ook andersom?
  dinsdag 25 april 2006 @ 23:57:29 #230
25527 FallenAngel666
Think of the kittens!
pi_37299153
Nee.
Signature:
Maximaal
4
regels
pi_38196685
Ik heb het een java opdracht waar ik niet uitkom. De opdracht is dat je zelf een versie van de indexOf() method maakt. Deze methode kijkt op welke positie string2 in string1 zit en als die er helemaal niet inzit retourneert die -1. Ik moet dit maken op 2 manieren, 1 manier met loopjes die heb ik nu zo goed als af en een recursieve manier waarvan ik geen idee heb hoe dat moet.

Tot zover was ik gekomen met de manier met loops:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import element.*;

public class Opdracht3part1a
{
  public static void main(String [] args)

  {
   String s1 = "Happy New Year";
   String s2 = "ew Y";

   //System.out.println(s2.length());

  System.out.println(s1.indexOf(s2));
   
  System.out.println(indexOf(s1,s2));
  }
 public static int indexOf(String s1, String s2)
  {
     char c, d, e, f;
     int i, k, x, y, z, h=-1;

    for (i=0; i < s1.length(); i++)
     {
      c = s1.charAti;

     for (k=0; k < s2.length(); k++)
     {
      d = s2.charAt(k);
        boolean sjaak = true;
        if (c==d)
      {
         h=i;
        x=i;
        y=k;
        while(sjaak)
        {
        x=x+1;
        y=y+1;

        e = s1.charAt(x);
        f = s2.charAt(y);
        if (e==f)
        {
           sjaak = true;
          z=y;
          z=z+1;
          if (z==s2.length())
          return h;
        }
        else
        {
        sjaak = false;
        h=-1;
        }
        }
        }
       else
       {
       k=k+s2.length();
       h=-1;
        }
     }
   }
        return h;
}
}


Enige wat hier nog niet goed aan is, is dat als je een lege string invoert die een foutmelding geeft evens als je een spatie als s2 invoert. Iemand dus een idee hoe ik dat er uit krijg?

En dan is het dus nog de bedoeling dat ik hier ook een recursieve methode van maak, volgens mij is dat dus nooit mogelijk met 2 parameters en moet ik er minstens nog 1 extra gebruiken. Kan iemand mij daarmee op weg helpen?
  donderdag 25 mei 2006 @ 15:27:56 #232
2671 Aaargh!
Gebruik op eigen risico.
pi_38200207
Tip: als je code schrijft, probeer deze dan leesbaar te houden, o.a. door goede namen te kiezen voor je variabelen. En correct inspringen is ook geen overbodige luxe.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class index 
{

   public static void main(String[] args) 
   {   
      System.out.println("index:" + indexOf("testhallo","tst"));
      System.out.println("index:" + indexOfLooped("testhallo","tst"));
      System.out.println("index:" + indexOf("hallotesthallo","test"));
      System.out.println("index:" + indexOfLooped("hallotesthallo","test"));
   }

   // recursief
   public static int indexOf(String haystack, String needle) 
   {
      if(haystack.length() >= needle.length())
      {
         if(haystack.startsWith(needle))
         {
            return 0;
         } else
         {
            int index = indexOf(haystack.substring(1),needle);
            if(index == -1)
               return -1;
            else
               return 1+index;
         }
      } else
      {
         return -1;
      }
   }
   
   // lus
   public static int indexOfLooped(String haystack, String needle)
   {
      for(int index = 0; haystack.length() > 0; index++)
      {
         if(haystack.startsWith(needle))
            return index;
         haystack = haystack.substring(1);
      }
      return -1;
   }
}
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38201010
Wow je hebt zelfs de hele code voor me gemaakt . Super bedankt en heel slim idd met die substring methode, mijn methode was een stuk omslachtiger. Wat betreft die tip, daar heb je natuurlijk gelijk in maar ik ben nog slechts een beginner en de meeste codes die ik maak zijn gewoon een zooitje . Ik ga er eens op letten!
pi_38201860
Ik zit nog steeds te kijken hoe je dat nou flikt met die lus manier.

Je kijkt eerst of de eerste string begint met dezelfde letter als de 2de string. Is dit zo dan return je de index van hoe vaak die al door de loop geweest is. Daarnaast doe je ook iedere iteratie de eerste letter van string1 afnemen zodat je steeds met een andere letter vergelijkt. Maar wat ik nou niet snap hoe kan het dit systeem ook werkt als je bijvoorbeeld de eerste test of Test gelijk is aan TeSt. Als ik naar deze code kijk dan zie ik alleen maar dat er vergeleken word of de eerste letter gelijk is van een woord. Maar op de een of andere manier werkt het toch allemaal. Kan je me misschien uitleggen waar die vergelijking dan gemaakt wordt?
  donderdag 25 mei 2006 @ 16:32:53 #235
85514 ralfie
!Yvan eht nioj
pi_38202260
quote:
Op donderdag 25 mei 2006 16:21 schreef KneiterS het volgende:
Ik zit nog steeds te kijken hoe je dat nou flikt met die lus manier.

Je kijkt eerst of de eerste string begint met dezelfde letter als de 2de string. Is dit zo dan return je de index van hoe vaak die al door de loop geweest is. Daarnaast doe je ook iedere iteratie de eerste letter van string1 afnemen zodat je steeds met een andere letter vergelijkt. Maar wat ik nou niet snap hoe kan het dit systeem ook werkt als je bijvoorbeeld de eerste test of Test gelijk is aan TeSt. Als ik naar deze code kijk dan zie ik alleen maar dat er vergeleken word of de eerste letter gelijk is van een woord. Maar op de een of andere manier werkt het toch allemaal. Kan je me misschien uitleggen waar die vergelijking dan gemaakt wordt?
je zou eens na moeten lezen wat StartsWith doet:

http://java.sun.com/j2se/(...)th(java.lang.String)

check ook de andere functie erboven, startWith(string, offset), dat werkt nog makkelijker
pi_38301245
Daar ben ik weer met nog een vraagje :
Ik moet nu wat opdrachtjes maken over arrays. Allereerst moet ik een array initialiseren van 40 elements en vervolgens zorgen dat alle 40 de waarde 0 hebben. Dit heb ik gedaan met een loopje:
1
2
3
    int[]myArray = new int[40];
    for(int i=0; i < 40; i++)
     myArray[i]=0;

Werkt op zich prima maar ik vroeg me af of er niet gewoon een functie voor is in java? Dat je dat loopje niet nodig hebt maar dat vanzelf alles gevuld wordt met 0?

In de opdracht moet ik verder 500 random getallen trekken tussen 0 en 39 en dan steeds 1tje optellen in de desbetreffende deel van de array. Dat lukt allemaal prima. Dan moet ik de het hoogste getal van de array nemen en het laagste, deze optellen en delen door 2, dat wordt dan het getal half. Dat lukt ook. Maar dan moet ik een 2de array maken waar alleen de getallen lager dan half ingezet mogen worden. Nou lukt het idee me opzich wel, dat doe ik namelijk als volgt:
1
2
3
4
5
6
7
8
9
    int k=0;    
    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          myArray2[k]=myArray[i];
          k=k+1;
        }
    }

Alleen moet je natuurlijk eerst die array initialiseren en dan moet je een getal opgeven van hoeveel plaatsen je wilt in die array, maar vantevoren weet ik nog helemaal niet hoeveel plaatsen ik nodig heb. Nou vraag ik me af hoe ik dat dan voor elkaar kan krijgen is er geen functie dat je steeds een extra plaatsje erbij kan maken in je array? Ik hoop dat het een beetje duidelijk is .
  zondag 28 mei 2006 @ 15:12:16 #237
2671 Aaargh!
Gebruik op eigen risico.
pi_38301765
quote:
Op zondag 28 mei 2006 14:58 schreef KneiterS het volgende:
Daar ben ik weer met nog een vraagje :
Ik moet nu wat opdrachtjes maken over arrays. Allereerst moet ik een array initialiseren van 40 elements en vervolgens zorgen dat alle 40 de waarde 0 hebben. Dit heb ik gedaan met een loopje:
[ code verwijderd ]

Werkt op zich prima maar ik vroeg me af of er niet gewoon een functie voor is in java? Dat je dat loopje niet nodig hebt maar dat vanzelf alles gevuld wordt met 0?
In java.ulils.Arrays zit een static methode fill() (zie API docs)
quote:
In de opdracht moet ik verder 500 random getallen trekken tussen 0 en 39 en dan steeds 1tje optellen in de desbetreffende deel van de array. Dat lukt allemaal prima. Dan moet ik de het hoogste getal van de array nemen en het laagste, deze optellen en delen door 2, dat wordt dan het getal half. Dat lukt ook. Maar dan moet ik een 2de array maken waar alleen de getallen lager dan half ingezet mogen worden. Nou lukt het idee me opzich wel, dat doe ik namelijk als volgt:
[ code verwijderd ]

Alleen moet je natuurlijk eerst die array initialiseren en dan moet je een getal opgeven van hoeveel plaatsen je wilt in die array, maar vantevoren weet ik nog helemaal niet hoeveel plaatsen ik nodig heb. Nou vraag ik me af hoe ik dat dan voor elkaar kan krijgen is er geen functie dat je steeds een extra plaatsje erbij kan maken in je array? Ik hoop dat het een beetje duidelijk is .
Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.

Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?

Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38301943
quote:
Op zondag 28 mei 2006 15:12 schreef Aaargh! het volgende:

[..]

In java.ulils.Arrays zit een static methode fill() (zie API docs)
[..]

Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.

Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?

Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
Mja, da's het nadeel van een array; de grootte staat van te voren vast - gelukkig zijn er wel oplossingen (linked list enzo) maja, het lijkt me ook dat de docent wil dat je 2x er doorheen gaat. Eenmaal op het aantal uit te vinden, dan array aanmaken en dan de array vullen.
pi_38302040
quote:
Op zondag 28 mei 2006 15:12 schreef Aaargh! het volgende:
Arrays zijn vies. Eigenlijk moet je docent een pak slaag omdat ie je met arrays bezig laat zijn, maar goed.

Als ik het goed begrijp moet je een 2e array opleveren waarin alleen de getallen staan uit array 1 die lager zijn dan de variabele 'half'. Begrijp ik het goed als ik hieruit opmaak dat de 2e array geen 'lege' posities mag bevatten en dat deze verder op dezelfde volgorde moet zijn als array 1 ?

Wat je docent denk ik wil is dat je eerst een lusje maakt die telt hoeveel items in array 1 er lager zijn dan 'half' en dat je deze gebruikt om een nieuwe array aan te maken.
Ja volgens mij begrijp je het goed. Wat jij zegt dat had ik idd geprobeerd maar dan krijg ik een fout. Ik zal wel mijn hele code laten zien:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import element.*;
import java.util.Random;

public class Opdracht1
{
  public static void main(String[] args)
  {
    Random random = new Random();
    int a = 40;

    int[]myArray = new int[a];
    for(int i=0; i < a; i++)
     myArray[i]=0;

    for (int i=0; i < 500; i++)
    {
      int value = Math.abs(random.nextInt());
      value = value%a;
      
      myArray[value] = myArray[value]+1;
    }
   
    int half = half(myArray);
    System.out.println(half);

    int x=0;

    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          x=x+1;
        }
    }

    int[]myArray2 = new int[x];

    int k=0;

    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          myArray2[k]=myArray[i];
          k=k+1;
        }
    }

    int half2 = half(myArray2);
    System.out.println(half2);

  }

  public static int half(int myArray[])
   {
     int mx=0;
     int mn=500;

     for (int i=0; i < 40; i++)
     {
      if(myArray[i]>mx)
      mx = myArray[i];

      if(myArray[i]<mn)
      mn = myArray[i];
     }
     
     int half = (mx + mn)/2;
     
     return half;
   }
}


Het gekke is dat als ik dat stukje:
1
2
3
4
5
6
7
8
9
10
11
    int x=0;

    for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          x=x+1;
        }
    }

    int[]myArray2 = new int[x];

eruit haal en gewoon:
1    int[]myArray2 = new int[40];

pak dat het dan gewoon wel werkt, maar dan heb ik dus een array die grotendeels leeg is en dat lijkt me ook niet de bedoeling. Zie ik dan een foutje in mijn code over het hoofd ofzo?
pi_38302104
Ow misschien nog handig om erbij te vermelden dat het geen compile error is maar "java.lang.ArrayIndexOutOfBoundsException: 29"
  zondag 28 mei 2006 @ 15:32:19 #241
2671 Aaargh!
Gebruik op eigen risico.
pi_38302412
Je fout zit in de methode 'half()'

Die doet de aanname dat de array die bekeken wordt 40 elementen heeft, maar myArray2 heeft meestal helemaal niet 40 elementen.

Als je even de stacktrace had bekeken had je gezien dat de fout in regel 61 zit.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38302521
1
2
3
4
5
6
7
8
 for (int i=0; i < 40; i++)
    {
      if (myArray[i]<half)
        {
          myArray2[k]=myArray[i];
          k=k+1;
        }
    }


In dat stuk ga je de 2e array vullen maar je gebruikt nog wel als grens 40 terwijl de array hoogstwaarschijnlijk kleiner is (daar dient dus niet 40 maar x te staan (die variable is namelijk de lengte van de array)).
pi_38302540
quote:
Op zondag 28 mei 2006 15:32 schreef Aaargh! het volgende:
Je fout zit in de methode 'half()'

Die doet de aanname dat de array die bekeken wordt 40 elementen heeft, maar myArray2 heeft meestal helemaal niet 40 elementen.

Als je even de stacktrace had bekeken had je gezien dat de fout in regel 61 zit.
Dat ook ja
  zondag 28 mei 2006 @ 15:40:41 #244
2671 Aaargh!
Gebruik op eigen risico.
pi_38302686
quote:
Op zondag 28 mei 2006 15:35 schreef fallrite het volgende:

[ code verwijderd ]

In dat stuk ga je de 2e array vullen maar je gebruikt nog wel als grens 40 terwijl de array hoogstwaarschijnlijk kleiner is (daar dient dus niet 40 maar x te staan (die variable is namelijk de lengte van de array)).
Nee, dat klopt wel. De eerste array is nog steeds 40 groot, voor de 2e array gebruikt ie de variabele 'k'. (ook niet netjes, hij had een meer omschrijvender variabele naam kunnen kiezen).
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_38303064
Ah supper bedankt! Heb die 40 vervangen door myArray.length en alles werkt idd perfect!
pi_38401894
Alweer een vraagje van mij :
Ik moet nu een kleine uitbreiding maken van mijn laatste code. Ik moet een vector maken van (wrapped) integers. Die vector moet gemaakt zijn van de elementen van de 2de array. Als laatste moet ik dan alle elementen van die vector printen.

Probleem is dat er niks is uitgelegd over integers en haast niks over vectors, kan het ook niet in het boek terugvinden. Weten jullie misschien een site waar een goede handleiding over dit staat dan?
  woensdag 31 mei 2006 @ 13:35:25 #247
25527 FallenAngel666
Think of the kittens!
pi_38407575
Ik neem aan dat je met "wrapped integers" instanties van de klasse java.lang.Integer bedoeld en dat je geen eigen wrapper klasse hebt geschreven?

De java.util.Vector klasse maakt deel uit van het java collections framework en kan je zien als een dynamische array. Een Vector kan je initialiseren met een bepaalde capaciteit (net als een array), maar die capaciteit staat, in tegenstelling tot die van een array, niet vast. Wanneer de initiële capaciteit bereikt is en er een nieuw object wordt toegevoegd, wordt de capaciteit van de Vector automatisch vergroot.

Kan je misschien wat meer informatie geven over de opdracht? Een Vector kent standaard alleen het type Object namelijk, dus als je echt puur een Vector moet gebruiken die alleen Integer objecten accepteerd, dan moet je met Generics gaan werken. Dit lijkt mij niet de bedoeling?

[ Bericht 3% gewijzigd door FallenAngel666 op 31-05-2006 14:13:34 ]
Signature:
Maximaal
4
regels
pi_38408084
gewoon de 2e array in een vector gooien met vector.fill() (volgens mij?).
  woensdag 31 mei 2006 @ 13:57:53 #249
25527 FallenAngel666
Think of the kittens!
pi_38408451
quote:
Op woensdag 31 mei 2006 13:50 schreef Scorpie het volgende:
gewoon de 2e array in een vector gooien met vector.fill() (volgens mij?).
Nope.
Je kan het het makkelijkst de java.util.Arrays klasse daarvoor gebruiken:

1
2
3
4
5
int[] foo = new int[5];

// Wat elementen toevoegen...

Vector bar = new Vector(Arrays.asList(foo));    


[ Bericht 1% gewijzigd door FallenAngel666 op 31-05-2006 14:47:38 ]
Signature:
Maximaal
4
regels
  vrijdag 2 juni 2006 @ 17:44:03 #250
17897 Cart_man
Love to be hated
pi_38481305
Word echt gestoord van dat java. Moet in Eclipse een programmaatje bouwen met werkend interface. Werkelijk geen idee wat de beste aanpak hiervoor is? Iemand starterstips?
A.M.A.B
pi_38481561
quote:
Op vrijdag 2 juni 2006 17:44 schreef Cart_man het volgende:
Word echt gestoord van dat java. Moet in Eclipse een programmaatje bouwen met werkend interface. Werkelijk geen idee wat de beste aanpak hiervoor is? Iemand starterstips?
Jigloo, knip en plak GUI http://www.cloudgarden.com/jigloo/
  donderdag 8 juni 2006 @ 08:39:34 #252
124802 joupee
dat spreek je uit als zjoepee
pi_38645968
Ik ben bezig met een beetje java, maar ik kom er niet uit.
Het is de bedoeling dat er een vierkant ronddraait en dat er dan op de hoekpunten kleinere vierkantjes ronddraaien. De code zit er tot nu toe als volgt uit:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import tekenapplet.*;

public class Class1 extends TekenApplet
{
   double hoek;
   
   public void initialiseer()
   {   maakAnimatieMogelijk();
      achtergrondkleur("blauw");
   }
   
   public void tekenprogramma()
   {   
      links(hoek);
      vierkant(100);
      links(hoek);
      vierkant(50);
      penUit();
      vooruit(75);
      rechts(90);
      vooruit(25);
      rechts(90);
      penAan();
      links(hoek);
      vierkant(50);
   }
   
   void vierkant(double z)
   {      penUit();
         vooruit(z/2);
         rechts(90);
         vooruit(z/2);         
         vulAan("oranje");
         rechts(90);
         vooruit(z);
         rechts(90);
         vooruit(z);
         rechts(90);
         vooruit(z);
         rechts(90);
         vooruit(z);
         vulUit();         
   }
   
   public void animatie()
   {   while(animatieLopend())
      {   hoek = hoek + .5;
         tekenOpnieuw();
      }
   }
}

Het probleem nu is dat de kleinere vierkantjes aan elkaar gekoppeld zitten en ik heb geen flauw idee hoe ik dit kan verhelpen...
pi_38666660
BIj mijn laatste opdracht stuit ik ook weer op een probleempje. Ik moet een gas pomp simulator maken met gebruik van meerdere classes 1 om te testen en 1 waar de methodes in staan. Ik zal laten zien wat ik al heb:

De testclass:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class GasPumpTest
{
  public static void main(String args[])
  {
    GasPump Pomp1 = new GasPump(1.20, "reg");

    System.out.println("Informatie van POMP 1:");
    System.out.println("Bezig met vullen van de pomp 1:");
    Pomp1.refill();
    System.out.println("Inhoud pomp1: " +Pomp1.stock() +" liter.");
    System.out.println("");

    System.out.println("Pomp nu 80 liter uit pomp 1");
    Pomp1.pompen(80);
    System.out.println("");

    System.out.println("Er wordt een nieuwe pomp bijgebouwd:");
    GasPump Pomp2 = new GasPump(1.50, "sup");
    System.out.println("We vullen deze pomp:");
    Pomp2.refill();
    System.out.println("");
        
    System.out.println("Pomp nu 80 liter uit pomp 2.");
    Pomp2.pompen(80);
    System.out.println("");
    
    System.out.println("Pomp nu weer 80 liter uit pomp 1.");
    Pomp1.pompen(80);
    System.out.println("");
    
    System.out.println("We gaan nu uit pomp 1 10 keer 90 liter halen:");
    for(int i=1; i < 11; i++)
    {
    Pomp1.pompen(90);
    System.out.println("");
    }
    
    System.out.println("Uit pomp 2 halen we 5 keer 40 liter:");
    for(int i=1; i < 6; i++)
    {
    Pomp2.pompen(40);
    System.out.println("");
    }
    
    System.out.println("De inhoud is nu:");
    System.out.println("Inhoud pomp1: " +Pomp1.stock() +" liter.");
    System.out.println("Inhoud pomp2: " +Pomp2.stock() +" liter.");
    System.out.println("");

    System.out.println("De tankwagen komt langs en vult de pompen weer bij:");
    Pomp1.refill();
    Pomp2.refill();
  }
}


De method class:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class GasPump
{
  private int stock;
  private double price;
  private String kind;

  public GasPump(double price1, String type)
  //pre: double met de prijs die niet leeg mag zijn
  //post: nieuwe pomp opgestart.
  {
  price = price1;
  stock = 0;
  kind = type;
  }

  public void refill()
  //post: regstock en supstock bijgesteld.
  {
  stock = 1000;

  System.out.println("Pomp gevuld, nieuwe voorraad: " +stock() +" liter " +kind +".");
  }

  public void pompen(int liters)
  //pre: int met aantal te pompen liter, not NULL en een string reg of sup.
  //post: nieuwe waarde voor regstock of supstock en een output.
  {
      if (liters > stock())
      {
        System.out.println("Niet genoeg benzine op voorraad, de resterende "+ stock() +" liter worden bijgepompt:");
        System.out.println("Totaal bedrag: " +(stock() * price) +" euro.");
        stock = 0;
        System.out.println("Nieuwe voorraad: " +stock() +" liter " +(kind) +" in de pomp.");
      }
      else
      {
        System.out.println("Er worden "+ liters +" liters regular gepompt:");
        stock = stock() - liters;
        System.out.println("Totaal bedrag: " +(liters * price) +" euro.");
        System.out.println("Nieuwe voorraad: " +stock() +" liter " +(kind) +" in de pomp.");
      }
  }

  public int stock()
  //post: int met waarde van stock
  {
      return stock;
  }
}


De simulator moet dus paar dingen kunnen, refillen pompen en aangeven hoeveel er is. Nou moet er nog 1 ding extra bij en daar kom ik niet uit. Ik moet namelijk 2 pompen met elkaar vergelijken en dan moet ik bekijken of ze het zelfde zijn, 2 pompen worden gezien als hetzelfde als de prijs en de soort gas hetzelfde zijn.

Maar hoe kan ik de waardes van 2 pompen tegelijk in de methode tot me beschikking hebben en die met elkaar vergelijken? Het lijkt me op zich heel simpel maar ik kom er niet uit.
  donderdag 8 juni 2006 @ 22:31:53 #254
25527 FallenAngel666
Think of the kittens!
pi_38674584
quote:
Op donderdag 8 juni 2006 19:16 schreef KneiterS het volgende:

...
Je kan gewoon de equals() methode van java.lang.Object kunnen overriden voor GasPump.
Uit de losse pols:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public boolean equals(Object obj){
     
     if(this == obj){
        return true;
     }
     
     if (obj instanceof GasPump){ 
        GasPump pump = (GasPump) obj;
        boolean stockIsEqual = stock == pump.getStock(); 
        boolean kindIsEqual = kind.equals(pump.getKind());
        if(stockIsEqual && kindIsEqual){
           return true;
        }
     }
     return false;
  }


Moet je nog wel even je methode stock() hernoemen naar getStock() en een methode getKind() implementeren. Waarom roep je binnen jouw klasse trouwens de methode stock() aan i.p.v. direct de member variabele te gebruiken? Probeer ook het door elkaar gebruiken van Nederlandstalige en Engelstalige naamgeving te vermijden.
Signature:
Maximaal
4
regels
  donderdag 8 juni 2006 @ 22:58:50 #255
25527 FallenAngel666
Think of the kittens!
pi_38675861
quote:
Op donderdag 8 juni 2006 08:39 schreef joupee het volgende:
Ik ben bezig met een beetje java, maar ik kom er niet uit.
Het is de bedoeling dat er een vierkant ronddraait en dat er dan op de hoekpunten kleinere vierkantjes ronddraaien. De code zit er tot nu toe als volgt uit:
[ code verwijderd ]

Het probleem nu is dat de kleinere vierkantjes aan elkaar gekoppeld zitten en ik heb geen flauw idee hoe ik dit kan verhelpen...
Wat bedoel je met "aan elkaar gekoppeld"?
De code die je post is trouwens niet erg behulpzaam bij het illustreren van je probleem.
Signature:
Maximaal
4
regels
pi_38676584
quote:
Op donderdag 8 juni 2006 22:31 schreef FallenAngel666 het volgende:

[..]

Je kan gewoon de equals() methode van java.lang.Object kunnen overriden voor GasPump.
Uit de losse pols:
[ code verwijderd ]

Moet je nog wel even je methode stock() hernoemen naar getStock() en een methode getKind() implementeren. Waarom roep je binnen jouw klasse trouwens de methode stock() aan i.p.v. direct de member variabele te gebruiken? Probeer ook het door elkaar gebruiken van Nederlandstalige en Engelstalige naamgeving te vermijden.
Tnx het is me gelukt! Ja ik vond dat cooler om een methode te gebruiken ipv de variabele, het slaat idd nergens op en ik zal op je tip letten als ik ooit nog eens moet java'en. Heb het er voorlopig wel mee gehad nu .
  woensdag 14 juni 2006 @ 20:38:40 #257
51748 H4ze
wait...what?
pi_38861152
Oke, er is iets wat niet helemaal wil lukken.

1
2
3
4
5
6
7
      for(int i=1;i<=4;i++)
      {
         JButton but+i = new JButton(">");
         panel.add(but);
         but.setBounds(10,h,45,35);
         h+=40;
      }


Het bovenstaande werkt niet, maar het dient ff om duidelijk te maken wat ik wil. Er moeten 4 buts aangemaakt worden (but1, but2, but3, but4). Nu kan ik die gewoon steeds los definieren, maar das een kutwerk (aangezien er in deze vorm nog tig andere reference variables moeten worden aangemaakt). Vandaar dat ik 't mbv een loop wil.

Ik begrijp waarom dit niet werkt, logisch, 2 verschillende datatypes met elkaar samenvoegen werkt natuurlijk niet. Het omzetten van but naar een string en i naar een string, om ze vervolgens samen te voegen werkt ook niet (but is natuurlijk al defined als String, dus kan niet ineens een object worden etc).

Maar ik neem aan dat zoiets toch moet kunnen? Als iemand tips heeft...

BVD
*BURP*
pi_38861737
Ehm, ja.. but+i is een taalconstructie die ik zo niet ken hoor Maar je zou een array van Buttons kunnen maken en dan met array[i] de Buttons aanmaken

Edit: JButtons in jouw geval
  woensdag 14 juni 2006 @ 21:01:37 #259
25527 FallenAngel666
Think of the kittens!
pi_38862241
Dat gaat zo niet lukken.
Je kan ze binnen een loop wel een array van JButtons aanmaken, of ze binnen een loop gelijk aan de het Container object toevoegen. Dus zo:

1
2
3
4
JButton[] buttons = new JButton[4];
for(int i=0; i<buttons.length;i++){
  buttons[i] = new JButton(">");
}


Of zo:

1
2
3
for(int i=0; i<4;i++){
  someContainer.add(new JButton(">"));
}


Bij die laatste kan je dan getComponent(int index) gebruiken van java.awt.Container om een bepaalde JButton instantie te benaderen.

[ Bericht 1% gewijzigd door FallenAngel666 op 15-06-2006 09:17:24 ]
Signature:
Maximaal
4
regels
  woensdag 14 juni 2006 @ 22:55:57 #260
51748 H4ze
wait...what?
pi_38867194
quote:
Op woensdag 14 juni 2006 20:51 schreef fallrite het volgende:
Ehm, ja.. but+i is een taalconstructie die ik zo niet ken hoor
Hehe ja, maar 't was dus meer ff om te illustreren wat ik wilde

Maar thnx voor de (snelle) reacties jongens! Kga er ff mee aan de slag.
*BURP*
  woensdag 14 juni 2006 @ 22:57:39 #261
67951 VeerMans
Nee! Echt?
pi_38867291
ptv
  vrijdag 14 juli 2006 @ 01:52:45 #262
51748 H4ze
wait...what?
pi_39809464
edit: never mind...

[ Bericht 50% gewijzigd door H4ze op 14-07-2006 02:50:40 ]
*BURP*
pi_40799617
Vraagje, ik heb een project in Jbuilder gemaakt. Nu wil ik er een .jar file van maken zodat ik hem met een html file kan runnen. Kan iemand me vertellen hoe dat werkt, ik kom er niet uit
Alvast bedankt!
  maandag 14 augustus 2006 @ 17:28:41 #264
25527 FallenAngel666
Think of the kittens!
pi_40800188
In JBuilder zit vast wel een export functie, waarmee je een executable JAR archive kan creëren van je project.
Eventueel doe je het handmatig met de JAR tool (jar.exe) die bij de JDK is meegeleverd (in de bin directory). Enige wat je dan nog moet doen is de JAR file signeren met de tool die daarvoor bij de JDK wordt meegeleverd (keytool.exe in bin directory). Nu heb je een JAR file die je met webstart kan runnen. Om dit te bereiken moet je nog wel een deployment descriptor (JNLP) file creëren die de applicatie en resources beschrijft, zodat Webstart er iets mee kan doen. Dit is het bestand waarnaar je op een webpagina verwijst en vanaf daar pikt Webstart het dan automatisch op (mits geïnstalleerd op de client pc).

Google maar eens naar "Webstart tutorial" / "Webstart walkthrough", dan vind je genoeg informatie over hoe het precies werkt, welke stappen je moet doorlopen en hoe.
Signature:
Maximaal
4
regels
  maandag 14 augustus 2006 @ 18:19:22 #265
51748 H4ze
wait...what?
pi_40801665
quote:
Op maandag 14 augustus 2006 17:10 schreef rvisser78 het volgende:
Vraagje, ik heb een project in Jbuilder gemaakt. Nu wil ik er een .jar file van maken zodat ik hem met een html file kan runnen. Kan iemand me vertellen hoe dat werkt, ik kom er niet uit
Alvast bedankt!
Kijk anders ook ff hier en hier. De html file moet je vervolgens ook gewoon in de JAR file stoppen.
*BURP*
pi_40815627
vergeef me als dit hier niet hoort maar om er nu een heel topic voor te openen

een tijdje geleden had iemand een vraag over een soort van lettertype die je kon includen in je pagina
zodat de tekst voor iedereen hetzelfde was
dit gebeurde d8t ik doormiddel van een javascript file ( kan me vergissen )
ik kan dit topic echter niet weer terug vinden
heeft iemand een idee

het is dus een soort font maar dan serverside
  dinsdag 15 augustus 2006 @ 12:33:55 #267
25527 FallenAngel666
Think of the kittens!
pi_40825887
Dat heet Scalable Inman Flash Replacement (sIFR), waarbij een combinatie van javascript en flash gebruikt wordt om bepaalde elementen van een pagina te vervangen door flash movies die tekst bevatten in een gekozen font, zodat de client zelf niet over dat font hoeft te beschikken. De inhoud van HTML pagina blijft daarbij gehandhaaft, zodat die volledig toegankelijk en leesbaar blijft voor mensen die niet over flash beschikken, maar ook voor bijvoorbeeld screen readers e.d.

Voor de goede orde dit gebeurd dus client side. sIFR is absoluut geen server side techniek.
Signature:
Maximaal
4
regels
pi_40859962
JavaScript, slecht lezen, stom, foutje...



[ Bericht 91% gewijzigd door HuHu op 16-08-2006 10:59:29 ]
  zondag 1 oktober 2006 @ 15:55:10 #269
108558 Messenga
goeiendag wat een geheel!
pi_42282020
Zo, hier is de ubern00b van FOK! wat betreft Java weer.

Ik moet een applet maken die er zo uit ziet :



Zoals je ziet zijn de labels aan de rechterkant nog wel zichbaar, maar als je het runt zijn ze niet zichtbaar. Nu moet ik een applet maken waarbij een leerling het aantal 3'en 4'en, 5'en en het totaal aantal punten moet invullen. Als dat gebeurt is krijgt de leerling 1 van de 3 labels te zien.

Nou heeft de applet de volgende voorwaarden :

Rapportcijfer zijn geele getallen van 3 tot 10
Cijfers 1 en 2 doen niet mee
Leerling met
-meer dan 1 3
- 3 of meer vieren
- 2 vieren en meer dan 1 vijf
- 2 vijfen en minimaal 1 vier
- 3 vijfen
- met 2 vieren of 1 vier met in totaal 42 punten wordt besproken, bij minder dan 42 punten.
blijft zitten

Alle overige gevallen gaat de leerling over.

Hoe zorg ik ervoor dat al deze punten goed verwerkt worden in een applet? Ik begrijp dat het door middel van een if statement moet, maar veel verder kom ik niet.
pi_42285775
quote:
Op zondag 1 oktober 2006 15:55 schreef Messenga het volgende:
Zo, hier is de ubern00b van FOK! wat betreft Java weer. :')

Ik moet een applet maken die er zo uit ziet :

[afbeelding]

Zoals je ziet zijn de labels aan de rechterkant nog wel zichbaar, maar als je het runt zijn ze niet zichtbaar. Nu moet ik een applet maken waarbij een leerling het aantal 3'en 4'en, 5'en en het totaal aantal punten moet invullen. Als dat gebeurt is krijgt de leerling 1 van de 3 labels te zien.

Nou heeft de applet de volgende voorwaarden :

Rapportcijfer zijn geele getallen van 3 tot 10
Cijfers 1 en 2 doen niet mee
Leerling met
-meer dan 1 3
- 3 of meer vieren
- 2 vieren en meer dan 1 vijf
- 2 vijfen en minimaal 1 vier
- 3 vijfen
- met 2 vieren of 1 vier met in totaal 42 punten wordt besproken, bij minder dan 42 punten.
blijft zitten

Alle overige gevallen gaat de leerling over.

Hoe zorg ik ervoor dat al deze punten goed verwerkt worden in een applet? Ik begrijp dat het door middel van een if statement moet, maar veel verder kom ik niet.
Ik zou er iets als de volgende methode voor gebruiken:
1
2
3
4
5
6
7
public int beoordeling( int drieen, int vieren, int vijven, int totaal ) {
   if ( drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 )
      return BLIJVEN_ZITTEN;
   if ( vieren >= 1 & totaal < 42 ) return BLIJVEN_ZITTEN;
   if ( vieren >= 1 & totaal >= 42 ) return BESPREKEN;
   return GAAT_OVER;
}

De constanten BLIJVEN_ZITTEN, BESPREKEN en GAAT_OVER moeten al gedefinieerd zijn in je class. De eerste twee if statements kun je ook nog bij elkaar stoppen omdat ze dezelfde waarde retourneren, maar dat komt de leesbaarheid niet ten goede.

Klopt die laatste regel voor het bespreken enzo wel? Iets als "2 vijven of 1 vier ..." lijkt logischer, maar goed, het gaat natuurlijk om het idee hoe je dit zou kunnen implementeren.
  zondag 1 oktober 2006 @ 18:32:09 #271
108558 Messenga
goeiendag wat een geheel!
pi_42286413
Laatste regel moet inderdaad 2 vijven of 1 vier zijn.

En hoe defineer je ook alweer?
pi_42286930
quote:
Op zondag 1 oktober 2006 18:32 schreef Messenga het volgende:
Laatste regel moet inderdaad 2 vijven of 1 vier zijn.

En hoe defineer je ook alweer? :@ :')
Nou ja, definieeren is niet het juiste woord, maar ik had in gedachte dat je nog ergens

1
2
3
final int BLIJVEN_ZITTEN = 0;
final int BESPREKEN = 1;
final int GAAT_OVER = 2;

moet zetten.
  zondag 1 oktober 2006 @ 19:36:46 #273
108558 Messenga
goeiendag wat een geheel!
pi_42288343
Ik heb nu :

if (drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 ) {
return BLIJVEN_ZITTEN;
}

if ( vieren >= 1 & totaal < 42 ) {
return BLIJVEN_ZITTEN;
}
if ( vieren >= 1 & totaal >= 42 ) {
return BESPREKEN;
}
return GAAT_OVER;

Ik werk namelijk met Visual Café.

Nu moet ik alle drieen, vieren, vijven en het totaal nog defineren.. hoe?
pi_42303357
quote:
Op zondag 1 oktober 2006 19:36 schreef Messenga het volgende:
Ik heb nu :

if (drieen > 1 | vieren >= 3 | (vieren==2 & vijven > 1) | (vieren >= 1 & vijven==2) | vijven==3 ) {
return BLIJVEN_ZITTEN;
}

if ( vieren >= 1 & totaal < 42 ) {
return BLIJVEN_ZITTEN;
}
if ( vieren >= 1 & totaal >= 42 ) {
return BESPREKEN;
}
return GAAT_OVER;

Ik werk namelijk met Visual Café.

Nu moet ik alle drieen, vieren, vijven en het totaal nog defineren.. hoe?
ligt eraan. Mogen de drieeen, vieren etc veranderen tijdens het runnen van de applicatie? Dan denk ik dat je:

private int vieren;
private int drieeen;

etc moet doen in je class.
  donderdag 5 oktober 2006 @ 19:49:52 #275
51748 H4ze
wait...what?
pi_42399605
Ik ben de laatste tijd een beetje bezig met OOP. Er is nu iets dat niet lukt...

Ik heb een class GUI. Als ik nu op 1 vd knoppen klik, wordt er vanuit deze class roep ik een object in een andere class op. In dit object wil ik de tekst in een textfield in GUI veranderen. Dit laatste lukt dus maar niet. Ik heb even met wat testprintjes gecheckt, en ik kom wel in dat object terecht. Overigens extends de class waarin het object staat de GUI.class en heb ik voor het gemak de boel public gemaakt, dus hier ligt het niet aan lijkt me? (anders had ik ook al wel compile errors gekregen dat ie stuff niet kon vinden).

Ik hoop dat 't een beetje duidelijk is en ik vraag me af waar dit aan zou kunnen liggen. Ik kan er evt nog wat codesnips bij doen. Verder heb ik 't principe van OOP nog niet helemaal door en zo, dus misschien doe ik iets ontzettends stoms :p

BVD!
*BURP*
pi_42399926
Ja, zonder code valt er niet zo heel veel te zeggen natuurlijk.
  zondag 8 oktober 2006 @ 14:18:10 #278
108558 Messenga
goeiendag wat een geheel!
pi_42478609
Ik meld me weer eens.



Die applet. Nou heb ik de voeg toe en sorteer op naam Button al gemaakt.

code voor de voeg toe button :

1
2
3
4
5
6
7
8
9
// to do: code goes here.
      String naamcijfer;
      LeerlingRij[teller].naam= NaamVeld.getText();
      LeerlingRij[teller].cijfer=  Integer.parseInt( Cijferveld.getText());
      naamcijfer = LeerlingRij[teller].naam + " - "  + LeerlingRij[teller].cijfer;
      Naamlijst.add(naamcijfer);
      NaamVeld.setText("");
      Cijferveld.setText("");
      teller++;


Code voor de sorteer op naam
1
2
3
4
5
6
7
8
9
10
int lengte =Naamlijst.getItemCount(); // pakt de lengte
   for ( int aantal = lengte; aantal >1; aantal--)// Als aantal gelijk is aan lengte 
   for (int index =0; index < aantal-1; index++)//gaat ie verder, index moet kleiner zijn dan aantal-1
      {
          String dit_element = Naamlijst.getItem(index);//pakt het element
          if(dit_element.compareTo(Naamlijst.getItem(index+1)) > 0)//vergelijkt 2 elementen uit de lijst
          {
              Naamlijst.remove(index);// verwijderd het tijdelijk
              Naamlijst.add(dit_element, index+1);// voegt het op de juiste plaats toe
              NaamVeld.requestFocus();


Maar hoe doe ik dit met een sorteer op cijfer button?
pi_42478779
Messenga, ik heb wel een tip

Java kent classes speciaal voor verzamelingen inclusief bijbehorende sorteermethoden...

Hashtables e.d. Dat scheelt je een hoop werk.

http://java.sun.com/j2se/(...)ctions/overview.html

[ Bericht 3% gewijzigd door #ANONIEM op 08-10-2006 14:26:08 ]
  zondag 8 oktober 2006 @ 14:27:05 #280
108558 Messenga
goeiendag wat een geheel!
pi_42478835
Ik vind het heel fijn dat je me tipt, maar daar snap ik dus niets van hé.
pi_42478990
Het is echt heel simpel, een voorbeeldje :

1
2
3
4
5
6
7
8
9
import java.util.*;

public class Sort {
    public static void main(String[] args) {
        List<String> list = Arrays.asList(args);
        Collections.sort(list);
        System.out.println(list);
    }
}
quote:
Let's run the program.

% java Sort i walk the line

The following output is produced.

[i, line, the, walk]
pi_42524012
quote:
Op zondag 8 oktober 2006 14:18 schreef Messenga het volgende:
Ik meld me weer eens.

[afbeelding]

Die applet. Nou heb ik de voeg toe en sorteer op naam Button al gemaakt.

code voor de voeg toe button :
[ code verwijderd ]

Code voor de sorteer op naam
[ code verwijderd ]

Maar hoe doe ik dit met een sorteer op cijfer button?
Je moet eens kijken naar de Comparator interface in java.utils. Daarmee kun je vast leggen hoe objecten geordend zijn. Vervolgens kun je dan de sort methode in Collections of Arrays gebruiken.
  maandag 9 oktober 2006 @ 21:00:48 #283
108558 Messenga
goeiendag wat een geheel!
pi_42524105
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
32
33
34
void SorteerButton_ActionPerformed(java.awt.event.ActionEvent event)
   {
       sortCijfers(LeerlingRij);

      // to do: code goes here.
   }
   
   public void sortCijfers (Leerling[ ] array) {
    int i, j;
    String s;
    Leerling temp;
    for ( i = 1; i < array.length; i++ )
        for ( j = 0; j < array.length-i; j++ )
            if ( array[j].cijfer > array[j+1].cijfer ) 
            {
                temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            } // if
    Naamlijst.clear();
    
    for (i = 0; i < array.length; i++)
    {
        if (array[i].naam != null)
        {
            s = array[i].naam + " - " + array[i].cijfer;
           Naamlijst.add(s);
       }
    }
    } //zie commentaar van de namen van de actionpeformed hierboven, alleen de variabele namen 
    //zijn gewijzigd.
    
    
}


Zo?
  zaterdag 14 oktober 2006 @ 14:17:58 #284
108558 Messenga
goeiendag wat een geheel!
pi_42670183
En weer eens een nieuwe.

Ik heb een applet, daarin staat een list die door middel van een knop 10 random getallen van 1 tot 100 genereerd. Nou moet ik door middel van een knop "gemiddelde" het gemiddelde uit laten rekenen en vervolgens in een label laten zien. hoe doe ik dit?
pi_42670498
Nou, hoe reken je een gemiddelde uit ? Mag toch hopen dat je je basisschool hebt afgemaakt
pi_42670601
Nu php me wat tegensteekt zou ik me graag eens in java storten maar na wat rondgesurft te hebben weet ik nog altijd niet goed welke programma's ik nodig heb om java te schrijven en uit te voeren.
Wil iemand me dit even uitleggen want als ik ergens uitleg vindt is het redelijk onbegrijpelijk :s.
  zaterdag 14 oktober 2006 @ 14:39:30 #287
108558 Messenga
goeiendag wat een geheel!
pi_42670639
Alle getallen delen door 10

Maar hoe zet je zoiets om in code?
pi_42670717
quote:
Op zaterdag 14 oktober 2006 14:37 schreef fate het volgende:
Nu php me wat tegensteekt zou ik me graag eens in java storten maar na wat rondgesurft te hebben weet ik nog altijd niet goed welke programma's ik nodig heb om java te schrijven en uit te voeren.
Wil iemand me dit even uitleggen want als ik ergens uitleg vindt is het redelijk onbegrijpelijk :s.
Vrij weinig hoor, je hebt iig de Java Development Kit nodig, te vinden op http://java.sun.com/javase/downloads/index.jsp . Daarnaast een texteditor om je code in te schrijven. Kladblok voldoet als je echt hardcore bent Zelf gebruik ik Eclipse ( http://www.eclipse.org ) als editor, die heeft syntax higlighting en andere tools om e.e.a. wat minder tijdrovend te maken. Tutorials zijn ook overal te vinden.
pi_42670743
quote:
Op zaterdag 14 oktober 2006 14:39 schreef Messenga het volgende:
Alle getallen delen door 10

Maar hoe zet je zoiets om in code?
Je telt alle listitems bijelkaar op en deelt het totaal door 10 ?
  zaterdag 14 oktober 2006 @ 14:46:27 #290
108558 Messenga
goeiendag wat een geheel!
pi_42670781
quote:
Op zaterdag 14 oktober 2006 14:44 schreef gelly het volgende:

[..]

Je telt alle listitems bijelkaar op en deelt het totaal door 10 ?
Zover was ik al .

Ik moet gewoon een begin hebben, van :"Hier begin je mee, op die manier selecteer je alle getallen." Dan is het niet zo moeilijk meer.

Dan denk ik dus aan zoiets :

CijferLijst.getItemCount();
int som = cijfers / 10;
GemLabel.setText(String.valueOf(som));

Maar dan klopt het 2e regeltje niet.
pi_42670846
quote:
Op zaterdag 14 oktober 2006 14:46 schreef Messenga het volgende:

[..]

Zover was ik al .

Ik moet gewoon een begin hebben, van :"Hier begin je mee, op die manier selecteer je alle getallen." Dan is het niet zo moeilijk meer.
Je doorloopt met een for-lus alle items, telt ze bijelkaar op en deelt ze door 10. Wat wil je nu precies weten ... Probeer zelf eens wat, waarschijnlijk leer je daar meer van. Lukt het niet, post dan de code die je al hebt hier. Ik ga je huiswerk niet zitten maken
  zaterdag 14 oktober 2006 @ 14:53:26 #292
108558 Messenga
goeiendag wat een geheel!
pi_42670911
quote:
Op zaterdag 14 oktober 2006 14:49 schreef gelly het volgende:

[..]

Je doorloopt met een for-lus alle items, telt ze bijelkaar op en deelt ze door 10. Wat wil je nu precies weten ... Probeer zelf eens wat, waarschijnlijk leer je daar meer van. Lukt het niet, post dan de code die je al hebt hier. Ik ga je huiswerk niet zitten maken
Je was net voor mn edit

CijferLijst.getItemCount();
int som = cijfers / 10;
GemLabel.setText(String.valueOf(som));

Dat had ik bedacht .
pi_42670922
quote:
Op zaterdag 14 oktober 2006 14:43 schreef gelly het volgende:
[..]
Vrij weinig hoor, je hebt iig de Java Development Kit nodig, te vinden op http://java.sun.com/javase/downloads/index.jsp . Daarnaast een texteditor om je code in te schrijven. Kladblok voldoet als je echt hardcore bent Zelf gebruik ik Eclipse ( http://www.eclipse.org ) als editor, die heeft syntax higlighting en andere tools om e.e.a. wat minder tijdrovend te maken. Tutorials zijn ook overal te vinden.
Welke versie moet ik van die Java Development Kit downloaden? Er staan er zoveel
En als texteditor gebruik ik wel dreamweaver zoals ik altijd doe .
pi_42670945
In pseudo code :

For x = 0 tot 9 { totaal = totaal + listitem[x] }

gem = totaal /10 <-- gem moet double zijn, geen int.

label = gem.toString
pi_42671004
quote:
Op zaterdag 14 oktober 2006 14:53 schreef fate het volgende:

[..]

Welke versie moet ik van die Java Development Kit downloaden? Er staan er zoveel
JDK 5.0 update 9
  zaterdag 14 oktober 2006 @ 15:00:09 #296
108558 Messenga
goeiendag wat een geheel!
pi_42671025
quote:
Op zaterdag 14 oktober 2006 14:55 schreef gelly het volgende:
In pseudo code :

For x = 0 tot 9 { totaal = totaal + listitem[x] }

gem = totaal /10 <-- gem moet double zijn, geen int.

label = gem.toString
zoiets zegt me dus echt niets
pi_42671086
quote:
Op zaterdag 14 oktober 2006 15:00 schreef Messenga het volgende:

[..]

zoiets zegt me dus echt niets


Het is geen letterlijke java code, ik geef alleen aan hoe je het zou moeten programmeren.
pi_42671256
vooruit :

1
2
3
4
5
6
7
8
9
10
11
public double gemiddelde(int [] getallen)

   {
      int som=0;
      
      for (int x=0; x < 10; x++){
         som = som + getallen[x];
      }
      
      return (som / 10);
   }
  zaterdag 14 oktober 2006 @ 15:21:27 #299
108558 Messenga
goeiendag wat een geheel!
pi_42671453
Ja, was het maar zo, dat werkt nooit in Visual Cafe.

Ik heb de code inmiddels zo omgedraaid dat ie er zo uitziet :

1
2
3
4
5
6
7
CijferLijst.getItemCount();
    
      int som=0;
      
      for (int x=0; x < 10; x++){
         som = som + cijfers[x];
   GemLabel.setText(String.valueOf(cijfers[x]));


Nu doet ie het wel, alleen hij neemt in plaats van het gemiddelde gewoon het maximum
pi_42671920
Mij lijkt het sterk dat dat werkt
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')