Hantera text i java problem, Nybörjare.

Permalänk
Medlem

Hantera text i java problem, Nybörjare.

Hej. jag håller på att gå igenom boken Java steg för steg.

Jag har kommit till en uppgift där man skall skriva ett program som läser in en mening, sedan skall det presenteras i en dialogruta hur många tecken man skrivit, vilket sista ordet är och vilket första ordet är.

jag har fått till allt utom det FÖRSTA ordet.

har försökt .lastindexOf och indexOf osv. men jag lyckas bara få ut från första mellanslaget och framåt och liknande.

Vore verkligen tacksam för hjälp.

koden:

import javax.swing.*; public class Test { public static void main(String[] arg) { String namn = JOptionPane.showInputDialog(null, "Skriv en mening med minst två ord"); String a, b, e; a = namn.trim(); //Texten som angivs int i = a.lastIndexOf(' '); //sista ordet som plockas ut int j = ); //första ordet som skall plockas ut <--------Problem!!!---------- b = a.substring(i); //sista ordet som plockas ut i textform e = a.substring(j); //första ordet som plockas ut i textform int c = a.length(); //räknar antal tecken JOptionPane.showMessageDialog(null, "Du skrev en text med " + c + " tecken" + "\nDet första ordet du skrev är " + e + "\nDet sista ordet du skrev är" + b); } }

Med vänliga hälsningar Björn

Lade till [code]-taggar för enklare läsning. Bjuder även på syntax highlighting :-)
Permalänk
Permalänk

i substring så kan du ange när var den ska börja skära och var den ska sluta.
String string="abc";
String string2 = string.substring(1,3);
ger en string som börjar med tecken 1 och slutar med tecken 3, i detta fall "bc"

Visa signatur

AMD Ryzen 5 3600 | Sapphire R9 280

Permalänk
Medlem

Tusen tack

Permalänk
Medlem

Jo ja har testat och provat mig fram massor i substring, har ju lyckats skära ut delar i en "fast text" men när det kommer från en input dialog så kan ordet vara olika långt då kommer problemet, men med
String arr[] = namn.split(" ", 2);
String firstWord = arr[0]; //första ordet som plockas ut

så gick de utmärkt, får lägga detta på minnet

MVH Björn