Miten saan käyttäjän antamasta merkkijonosta tulostettua sanojen ensimmäiset kirjaimet?
Oon kokeillu substringia ja StringTokenizeria, mut ei vielä oo täysin auennut =)
Merkkijonot
2
608
Vastaukset
- hemmaderi
// oletetaan että välilyönillä erotettuja...
String data[] = mjono.split(" "); // regxp "\r\n \t" ?
for (String i : data) {
System.out.println(
"Sanan '" i
"' eka merkki on '" i.charAt(0) "'.");
} - if-else
Scanner luokkaa voi käyttää sanojen poimimiseen merkkijonosta. Alla esimerkki toteutus:
--- ESIMERKKI 1: ALKAA ---
import java.util.Scanner;
public class Esimerkki {
public static void tulostaEnsinmäisetKirjaimet(String jono) {
Scanner in = new Scanner(jono);
while(in.hasNext())
System.out.print(in.next().charAt(0));
}
public static void main (String[] args) {
tulostaEnsinmäisetKirjaimet("Tämä on testi jono");
}
}
--- LOPPUU ---
Alla hieman paremmaksi hiottu esimerkki, joka tulostaa vain ensimmäiset kirjaimet (ei siis numeroita, tms.), ja ottaa huomioon myös sen että sana voi olla lainaus merkkien sisällä tai alkaa tavuviivalla.
--- ESIMERKKI 1: ALKAA ---
import java.util.Scanner;
public class Esimerkki {
public static void tulostaEnsinmäisetKirjaimet(String jono) {
Scanner in = new Scanner(jono.replace("\"", "").replace("-", ""));
while(in.hasNext())
if (Character.isLetter((jono = in.next()).charAt(0)))
System.out.print(jono.charAt(0));
}
public static void main (String[] args) {
tulostaEnsinmäisetKirjaimet("Tämä on \"testi\" 100 -vuotta");
}
}
--- LOPPUU ---
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 62915
- 119704
J-mies, miten voit olla niin varma siitä
että minä olen juuri se nainen, kenen ajattelet ja haluat minun olevan, se kenelle avaat ajatuksiasi ja tunnustat syvimp80688Jani Wickholm on kuollut
Tämä oli Janilta hieno laulu. https://youtu.be/72wWxqWon7k?is=5HKdV-H8yY466YXm44649- 39636
- 87561
Alan pikkuhiljaa olemaan sinut
sen asian kanssa, että en tule enää löytämään ketään. Mikä tilanne sinulla on ja miten olet koittanut ratkaista tilante111543- 38482
- 41481
- 71457