JFrame Skrevet 26. oktober 2006 Del Skrevet 26. oktober 2006 Hei! Siden dette er min første post, tenkte jeg jeg skulle gi alle her inne en virkelig hard nøtt å bryne seg på . 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
sim Skrevet 26. oktober 2006 Del Skrevet 26. oktober 2006 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
Qwark Skrevet 26. oktober 2006 Del Skrevet 26. oktober 2006 (endret) 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 26. oktober 2006 av Qwark Lenke til kommentar
JFrame Skrevet 26. oktober 2006 Forfatter Del Skrevet 26. oktober 2006 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå