abonnement Unibet Coolblue Bitvavo
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
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')