Toon posts:

Java Foutmelding

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok, als ik de volgende code heb
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    String deText = deTextField.getText();
    deText.trim();

    StringTokenizer tokenizer;

    tokenizer = new StringTokenizer(deText, " ");

    int count = 0;

    while(tokenizer.hasMoreTokens())
    {
      String item = tokenizer.nextToken();

      woord[count] = item;
      count++;
    }

Dan zou ie het volgende moeten doen: hij zet alle gevonden woorden, d.m.v. het scheiden van een spatie, in de array woord! Dit zou dus de bedoeling moeten zijn, maar JBuilder geeft een foutmelding bij het compileren, en wel de volgende:

ERROR #: 367 : array type required for [] but java.lang.String found at line 132, column 32

Deze error verwijst naar het woord count in de code:
code:
1
 woord[count] = item;

Wat word er bedoeld met deze foutmelding, maar nog belangrijker hoe los ik deze op!

  • Sircuri
  • Registratie: Oktober 2001
  • Niet online

Sircuri

Volledig Appelig

waar initialiseer je de array "woord" en laat dat statement eens zien hier.

Signature van nature


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

waar staat je woord declaratie en staat daar wel String[] ofzo?

Verwijderd

Topicstarter
deze staat bovenaan bij de rest van het declareren van andere zooi!
code:
1
2
public class Frame1 extends JFrame {
        String[] woord = new String[500];

  • erikhui
  • Registratie: Oktober 2001
  • Laatst online: 18:24
Voor de while:

String[] woord = new String[tokenizer.countTokens()];

Verwijderd

String woord[] = new String[500];

volgende keer op de details letten, wil je... *D

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 22:27
Op vrijdag 03 mei 2002 14:40 schreef zwienenb het volgende:
String woord[] = new String[500];

volgende keer op de details letten, wil je... *D
Uh, ik wil niet veel zeggen hoor, maar String[] woord is EXACT gelijk aan String woord[]!!

Dan wil ik je nog even wat coding adviezen geven.

• Objecten die je declareerd mag je meteen initializeren (StringTokenizer st=new Stringtokenizer())
• Als je in een lus een teller nodig hebt, dan doe je dat met for.
code:
1
2
3
4
for (int count=0;st.hasMoreElements();count++)
{
...
}


• woord[count]=st.nextToken();

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 11:02
Op vrijdag 03 mei 2002 14:40 schreef zwienenb het volgende:
String woord[] = new String[500];

volgende keer op de details letten, wil je... *D
Nee nee, in Java mag 'type[] identifier' ook! Zelf vind ik deze manier zelfs mooier dan de C/C++ stijl, omdat de blokhaken het type wijzigen en in principe niet de identifier.

Verwijderd

Op vrijdag 03 mei 2002 14:44 schreef Soultaker het volgende:

[..]

Nee nee, in Java mag 'type[] identifier' ook! Zelf vind ik deze manier zelfs mooier dan de C/C++ stijl, omdat de blokhaken het type wijzigen en in principe niet de identifier.
mijn fout...

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 11:02
Declareer je 'woord' niet later nog een keer, in je methode of als parameter ervan, maar deze keer als String?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

MAar goed, ik zie verder ook niks fouts, behalve dat die 500 mogelijk te klein is? Maar dat zou een out-of-bound moeten geven en niet dit gezeik... (al ken ik de foutmeldingen niet van JBuilder :P)

  • erikhui
  • Registratie: Oktober 2001
  • Laatst online: 18:24
Tested & working (JBuilder 5)

String deText = " zomaar een test zin ";
StringTokenizer tokenizer = new StringTokenizer(deText.trim(), " ");

int count = 0;
String[] woord = new String[tokenizer.countTokens()];
while(tokenizer.hasMoreTokens())
{
woord[count] = tokenizer.nextToken();
count++;
}
for (int i=0; i<woord.length; i++){
System.out.println("woord["+i+"]: "+woord[i]);
}

resultaat:

woord[0]: zomaar

woord[1]: een

woord[2]: test

woord[3]: zin

  • Sircuri
  • Registratie: Oktober 2001
  • Niet online

Sircuri

Volledig Appelig

Nog even een opmerking.

Dit gaat ook niet lukken geloof ik:
code:
1
2
String deText = deTextField.getText();
deText.trim();

Dit moet worden:
code:
1
2
String deText = deTextField.getText();
deText = deText.trim();

of ben ik nou slecht in het onhouden van API's :+

Signature van nature


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op vrijdag 03 mei 2002 15:45 schreef Sircuri het volgende:
Nog even een opmerking.

Dit gaat ook niet lukken geloof ik:
code:
1
2
String deText = deTextField.getText();
deText.trim();

Dit moet worden:
code:
1
2
String deText = deTextField.getText();
deText = deText.trim();

of ben ik nou slecht in het onhouden van API's :+
Strings zijn immutable :) dus jij hebt gelijk.
Pagina: 1