Java ongelma

Semmosta oisin kyselly ku pitäs tolla javalla saah a tiivistetty tekstiä että mitenkäs onnistuu.
Eli pitäs saaha ylimääräset välilyönnit pois jos niitä enemmän kuin yksi peräkkäin.Pistän nuo välilyönnit _ että vähä helpompi hahmottaa.
_ _tekstin_ _ _tiivistystä
eli pitäs saaha tota tiivistettyä sillain että lähtis nuo ylimääräset välilyönnit pois ja tulostas vaikka 4merkkiä per rivi
_tek
stin
_tii
vist
ystä
eli tommosen sitte pitäs saisin tulostettua.
Tossa nuo alaviivat eroteltu välilyönneillä nyt jotai ei siis kuulus olla tuolla välissä, mutta vähä helpompi lukunen.
4414
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Tämä ei ole mitään oikeaa javaa tai edes C:tä, mutta muokkaa tästä Javaa:

while (rivi = lue_rivi()) {
c_edellinen = '';
while (rivillä_on_merkkejä_luettavana(rivi)) {
c = hae_rivin_merkki(rivi);
if (c == ' ') {
if (c_edellinen != ' ')
tulosta_merkki(c)
} else {
tulosta_merkki(c)
}
c_edellinen = c;
}
}

Äänestä
  • Yllättäen foorumi sotkee taas tekstiä. Ensimmäisen rivin "c_edellinen = .." pitäisi asettaa muuttuja c_edellinen arvoon nolla (tai siis yleensäkin jokin arvo, joka ei voi tulla vastaan kesken luettavaa merkkijonoa ennen sen rivin loppua). NULL varmaan käynee myös. Foorumi ei pidä keno-merkeistä, yritin kuvata tuossa kohtaa C-tyylistä merkintää keno ja nolla.

    Äänestä

  • Mik kirjoitti:

    Yllättäen foorumi sotkee taas tekstiä. Ensimmäisen rivin "c_edellinen = .." pitäisi asettaa muuttuja c_edellinen arvoon nolla (tai siis yleensäkin jokin arvo, joka ei voi tulla vastaan kesken luettavaa merkkijonoa ennen sen rivin loppua). NULL varmaan käynee myös. Foorumi ei pidä keno-merkeistä, yritin kuvata tuossa kohtaa C-tyylistä merkintää keno ja nolla.

    sähläämään mitään omaa purkkakoodia, kun kerran java tarjoaa valmiit metodit tuollaiseen merkkijonojen käsittelyyn.

    StringTokenizer st = new StringTokenizer("this is a test");
    while (st.hasMoreTokens()) {
    println(st.nextToken());
    }

    prints the following output:

    this
    is
    a
    test


    Ja jos haluaa sen 4 merkkiä per rivi, niin voi käyttää vaikka seuraavaa.

    String spede = "spede oli kova jannu";

    spede = spede.replace(' ','');

    int pituus=0;
    int i = 0;

    StringCharacterIterator it = new StringCharacterIteraror(spede);

    while(i < pituus)
    {
    System.out.println(it.next());
    if(i%4 == 0) System.out.println('
    );
    i++;
    }

    Äänestä

  • Piru kirjoitti:

    sähläämään mitään omaa purkkakoodia, kun kerran java tarjoaa valmiit metodit tuollaiseen merkkijonojen käsittelyyn.

    StringTokenizer st = new StringTokenizer("this is a test");
    while (st.hasMoreTokens()) {
    println(st.nextToken());
    }

    prints the following output:

    this
    is
    a
    test


    Ja jos haluaa sen 4 merkkiä per rivi, niin voi käyttää vaikka seuraavaa.

    String spede = "spede oli kova jannu";

    spede = spede.replace(' ','');

    int pituus=0;
    int i = 0;

    StringCharacterIterator it = new StringCharacterIteraror(spede);

    while(i < pituus)
    {
    System.out.println(it.next());
    if(i%4 == 0) System.out.println('
    );
    i++;
    }

    siis sanojen väleistä piti poistaa ylimääräsiä välejä.

    String keke = "tässä on nyt ylim. välejä"

    StringTokenizer st = new StringTokenizer(keke);
    keke = "";
    while(st.hasMoreTokens())
    {
    keke = keke st.nextToken().trim();
    keke = keke ' ';
    }


    Nyt ois ylimääräset välit veke.

    Äänestä

Kommentoi aloitusta


Repe kirjoitti:

Semmosta oisin kyselly ku pitäs tolla javalla saah a tiivistetty tekstiä että mitenkäs onnistuu.
Eli pitäs saaha ylimääräset välilyönnit pois jos niitä enemmän kuin yksi peräkkäin.Pistän nuo välilyönnit _ että vähä helpompi hahmottaa.
_ _tekstin_ _ _tiivistystä
eli pitäs saaha tota tiivistettyä sillain että lähtis nuo ylimääräset välilyönnit pois ja tulostas vaikka 4merkkiä per rivi
_tek
stin
_tii
vist
ystä
eli tommosen sitte pitäs saisin tulostettua.
Tossa nuo alaviivat eroteltu välilyönneillä nyt jotai ei siis kuulus olla tuolla välissä, mutta vähä helpompi lukunen.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu