Gå til innhold

Anbefalte innlegg

Hei! Siden dette er min første post, tenkte jeg jeg skulle gi alle her inne en virkelig hard nøtt å bryne seg på :tease: .

Når jeg skriver inn mindre enn 5 tegn i dette programmet får jeg ikke opp den teksten jeg vil, men "noen error meldinger".

 

 

import javax.swing.*; // importerer hele pakka, alle funksjonene i den.

 

public class sett07_oppg2

 

{

 

 

public static void main(String[] args)

 

{

 

// Leser inn en streng

 

String Lest_streng = JOptionPane.showInputDialog("Skriv inn en streng på minst 5 tegn");

 

 

 

// Leser antall tegn som er i strengen

 

int AntTegn = Lest_streng.length();

 

 

 

// Leser de 3 første tegnene i strengen

 

String tre_forste = Lest_streng.substring(0,3);

 

 

if ( AntTegn < 5 )

{ JOptionPane.showMessageDialog(null,"Denne teksten har mindre enn 5 tegn. Prøv på nytt!");}

 

 

if ( AntTegn > 5 )

{ JOptionPane.showMessageDialog(null,"Denne teksten har " + AntTegn + " tegn" + "\n" +

"Her er de tre første bokstavene du skrev inn: " + tre_forste);}

 

{

 

System.exit(0);

}

 

 

}

 

 

}

Lenke til kommentar
Videoannonse
Annonse

String tre_forste = Lest_streng.substring(0,3);

 

Den linja vil ikke ha det så bra hvis stringen din ikke er > 3 tegn. Du kan flytte den linja inn i if ( AntTegn > 5 ). Du bør vel også endre litt slik at det skjer noe om det er nøyaktig 5 tegn også.

Lenke til kommentar

Merkelig, den fungerte utmerket hos meg.

Hvordan feilmeldiger er det du får?

 

Edit: er det

java.lang.StringIndexOutOfBoundsException: String index out of range: 3

 

du får når du skriver mindre en 3 tegn?

Da er det på grunn av at du prøver å ta ut de 3 første bokstavene selv om det bare er tastet inn 2, derav "out of range"

Dette fikses lett ved å flytte String tre_forste inn i if-settningen

Endret av Qwark
Lenke til kommentar

Takk for gode svar!

Her er koden som fungerer utmerket, for de som er interessert.

 

// Leser inn en streng og skriver ut de 3 første tegnene. Strengen skal være minst 5 // tegn.

 

 

import javax.swing.*; // importerer hele pakka, alle funksjonene i den.

 

public class sett07_oppg2

 

{

 

public static void main(String[] args)

 

{

 

// Leser inn en streng

 

String Lest_streng = JOptionPane.showInputDialog("Skriv inn en streng på minst 5 tegn");

 

 

// Leser antall tegn som er i strengen

 

int AntTegn = Lest_streng.length();

 

 

if ( AntTegn < 5 )

{ JOptionPane.showMessageDialog(null,"Denne teksten har mindre enn 5 tegn. Prøv på nytt!");}

 

if ( AntTegn >= 5 )

{ // Leser de 3 første tegnene i strengen

String tre_forste = Lest_streng.substring(0,3);

 

JOptionPane.showMessageDialog(null,"Denne teksten har " + AntTegn + " tegn" + "\n" +

"Her er de tre første bokstavene du skrev inn: " + tre_forste);}

 

{

 

System.exit(0);

}

 

}

 

}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...