Java

Moderators: jkien, Xilvo

Reageer
Berichten: 34

Java

hoi

in mijn oefening moet ik 7 woorden inlezen via een for lus en de lengte de string op het scherm afdrukken

maar ik weet niet hoe ik de string in een for lus en dan de lengte er uit haal

eerste code

package Extrapac4;

import javax.swing.JOptionPane;

public class WoordenInOut {

private String titel;

/**

* Constructor van een SimpleInOutDialog.

*

*
@param titel een String met de titel van het venstertje.

*/

public WoordenInOut(String titel) {

this.titel = titel;

}

/**

* Tonen van een tekst in een dialoogvenstertje.

*
@param message een String met een te tonen berichtje.

*
@param output een String met de te tonen tekst.

*/

/**

*

*
@param

*/



public void showString(String message, String output) {

JOptionPane.showMessageDialog(

null,

message +
"\n\n" + output + "\n\n",

titel,

JOptionPane.
PLAIN_MESSAGE);

}

/**

* Tonen van een geheel getal in een dialoogvenstertje.

*
@param message een String met een te tonen berichtje.

*
@param een int met het te tonen getal.

*/

public void showInteger(String message, int getal) {

JOptionPane.showMessageDialog(

null,

message +
"\n\n" + Integer.toString(getal) + "\n\n",

titel,

JOptionPane.
PLAIN_MESSAGE);

}

/**

* Tonen van een geheel getal in een dialoogvenstertje.

*
@param message een String met een te tonen berichtje.

*
@param een double met het te tonen getal.

*/

public void showDouble(String message, double getal) {

JOptionPane.showMessageDialog(

null,

message +
"\n\n" + Double.toString(getal) + "\n\n",

titel,

JOptionPane.
PLAIN_MESSAGE);

}

/**

* Inlezen van een String.

*
@param message een String met de tekst die in het dialoogvenster

* moet getoond worden.

*
@return de ingelezen String. Indien het venster zonder

* invoer wordt afgesloten is de String null.

*/

public String readString(String message) {

Object[] possibilities =
null;

String s =
null;

s =

(String) JOptionPane.showInputDialog(

null,

message,

this.titel,

JOptionPane.
PLAIN_MESSAGE,

null,

possibilities,

"");

if ((s == null) || (s.length() == 0)) {

s =
null;

}

return s;

}

/**

* Inlezen van een geheel getal.

*
@param message een String met de tekst die in het dialoogvenster

* moet getoond worden.

*
@return het ingelezen geheel getal (een int). Indien het venster zonder

* correcte invoer wordt afgesloten is het getal 0 (nul).

*/

public int readInteger(String message) {

boolean isAnInteger = false;

String tekst =
null;

int gelezen = 0;

while (!isAnInteger) {

tekst = readString(message);

if (tekst != null) {

try {

gelezen = Integer.parseInt(tekst);

isAnInteger =
true;

}
catch (NumberFormatException nfe) {

isAnInteger =
false;

}

}
else {

isAnInteger =
true;

gelezen = 0;

}

}

return gelezen;

}

/**

* Inlezen van een kommagetal.

*
@param message een String met de tekst die in het dialoogvenster

* moet getoond worden.

*
@return het ingelezen getal (een double). Indien het venster zonder

* correcte invoer wordt afgesloten is het getal 0.0 (nul).

*/

public double readDouble(String message) {

boolean isADouble = false;

String tekst =
null;

double gelezen = 0.0;

while (!isADouble) {

tekst = readString(message);

if (tekst != null) {

try {

gelezen = Double.parseDouble(tekst);

isADouble =
true;

}
catch (NumberFormatException nfe) {

isADouble =
false;

}

}
else {

isADouble =
true;

gelezen = 0.0;

}

}

return gelezen;

}

/**

* Wanneer je in je programma geen uitvoer meer nodig hebt

* MOET je deze bewerking op het SimpleInOutDialog
-object uitvoeren.

* Het programma wordt dan beëindigd.

*/

public void stop() {

System.exit(0);

}

}

de twee uitvoer code daar zitten de fouten ik weet hoe het moet voor de for lus

en krijg de lengte van de string niet op het scherm

de uitvoercode die ik heb is deze

package Extrapac4;





public class Woorden {

/**

*
@param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

WoordenInOut inOut;

inOut =
new WoordenInOut("Demo voor SimpleInOutDialog");

int len;

String woord1;

String woord2 ;

String woord3 ;

String woord4 ;

String woord5 ;

String woord6 ;

String woord7 ;

String Aantalwoorden1;

woord1 = inOut.readString(
"Geef uw woord in ");

woord2 = inOut.readString(
"Geef uw woord in ");

woord3 = inOut.readString(
"Geef uw woord in ");

woord4 = inOut.readString(
"Geef uw woord in ");

woord5 = inOut.readString(
"Geef uw woord in ");

woord6 = inOut.readString(
"Geef uw woord in ");

woord7 = inOut.readString(
"Geef uw woord in ");

String aantalwoorden1=woord1+woord2+woord3+woord4+woord5+woord6+woord7;

len=aantalwoorden1.length();

System.
out.println("de lengte is"+aantalwoorden1);

inOut.stop();

}

}

kan iemand mij hoe ik het best wel doe

bedankt groetjes marjan








Gebruikersavatar
Berichten: 2.097

Re: Java

Wat lukt er niet met die for-lus?

for (int i=0;i<7;i++)

{

//TODO read string

}
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian

Berichten: 34

Re: Java

hoi

hoe kan ik ervoor zorgen dat de lengte van alle woorden wordt samen geteld.?

groetjes marjan

package Extrapac4;





public class Woorden {

/**

*
@param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

WoordenInOut inOut;

inOut =
new WoordenInOut("Demo voor SimpleInOutDialog");

for (int i=0;i<7;i++)

{

//TODO read string

String woord= inOut.readString("Geef uw woord in ");

int len = woord.length () ;

System.
out.println ( "String lenght : " + len );

}

inOut.stop();



}

}






Gebruikersavatar
Berichten: 2.097

Re: Java

Als je uiteindelijk ook de totale lengte wil bijhouden maak je hiervoor een extra variabele aan.

int total=0;

for ...

{

...

total+=len

}
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian

Berichten: 34

Re: Java

ik denk dat ik nog iets fout doe

sorry hoor

public class Woorden {

/**

*
@param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

WoordenInOut inOut;

inOut =
new WoordenInOut("Demo voor SimpleInOutDialog");

int total=0;

int len = 0;

for (int i=0;i<7;i++)

total+=len;

{

//TODO read string

String woord= inOut.readString("Geef uw woord in ");

len = woord.length () ;

System.
out.println ( "String lenght : " + len );

}

inOut.stop();



}

groetes marjan en bedankt


Gebruikersavatar
Berichten: 2.097

Re: Java

'total+=len;' moet komen na de regel

len = woord.length ();
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian

Berichten: 34

Re: Java

sorry maar het werkt niet ik voel mij zo dom





public class Woorden {

/**

*
@param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

WoordenInOut inOut;

inOut =
new WoordenInOut("Demo voor SimpleInOutDialog");

int total=0;

int len = 0;

for (int i=0;i<7;i++)

{

//TODO read string

String woord= inOut.readString("Geef uw woord in ");

len = woord.length () ;

total+=len;

System.
out.println ( "String lenght : " + len );

}

inOut.stop();



}

}

het moet het totaal van de zeven worden

groetjes marjan


Gebruikersavatar
Berichten: 7.390

Re: Java

Weet je wat de regel

Code: Selecteer alles

total+=len;
doet, marjan? En waar wordt die output op het scherm geschreven?

In de for-lus maak je de berekening, dat betekent nog niet dat die ook weer wordt gegeven hé :eusa_whistle:
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Gebruikersavatar
Berichten: 2.097

Re: Java

Wat werkt er niet?

Je moet op na de for-lus natuurlijk nog 'System.out.println(total);' toevoegen.
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian

Reageer