Ongelma

Tehtävänä on:

a) Metodi sana2 saa parametrinaan merkkijonon ja kokonaisluvun. Metodi muuttaa merkkijonon alkuosan kokonaisluvun ilmaisemaan kohtaan saakka tyhjiksi (välilyönneiksi). Loppuosa säilyy ennallaan. Metodi palauttaa muutetun merkkijonon.

b) Metodi sana2 saa parametrinaan merkkijonon, jonka kirjaimet metodi muuttaa tyhjiksi. Metodi palauttaa muunnetun merkkijonon.

c) Metodi sana2 saa parametrinaan liukuluvun. Metodi palauttaa luvun pyöristettynä lähimpään kokonaislukuun.

---------------------------------------

Olen saanut tehtyä tämän verran:

a)

private static void sana2() {
   System.out.println("Kirjoita sana:");
   String sana = Lue.rivi();
   
   System.out.println("Syötä kokonaisluku:");
   int kluku = Lue.kluku();
   
}


b)

private static void sana2() {
   System.out.println("Kirjoita sana:");
   String sana = Lue.rivi();
}


c)

private static void sana2() {
   System.out.println("Syötä kokonaisluku:");
   double lLuku = Lue.dluku();
}

--------------------------------------------

Ja kyllä, kyse on koulutehtävästä, mutta en pyydäkään teitä tekemään tätä minulle kokonaan valmiiksi, vaan auttamaan näissä pienissä ongelmissa, joita en osaa itse ratkaista. :)
4434
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

eli et ole saanut aikaan mitään ;)

a)
private static String sana2(String s, int n) {
for(int i=0; i

Äänestä
  • Merkkijonoja käsittelevät metodisi ovat täyttä puppua. Oletko koskaan edes koodannut Javalla?

    Javassa ei voi käyttää merkintää s[i] viitatakseen merkkijonon merkkiin. Javassa se tehdään näin: s.charAt(i).

    Toisekseen Javassa merkkijonot ovat immutable. Merkkijono-objektin sisältöä ei siis voi muuttaa.

    Äänestä

  • Java-guru kirjoitti:

    Merkkijonoja käsittelevät metodisi ovat täyttä puppua. Oletko koskaan edes koodannut Javalla?

    Javassa ei voi käyttää merkintää s[i] viitatakseen merkkijonon merkkiin. Javassa se tehdään näin: s.charAt(i).

    Toisekseen Javassa merkkijonot ovat immutable. Merkkijono-objektin sisältöä ei siis voi muuttaa.

    En ole yliopiston jälkeen javalla koodallut joten hyvä että tuon vertaa muistin. =) Hyvä kieli ohjelmoinnin opetteluun, mutta siihen sen hyvät puolet jäävätkin.

    Kohdat joista äskeinen veti herneen nenään voidaan korvata seuraavalla pätkällä

    char[] c = s.toCharArray();
    //...
    c[i] = ' ';
    //...
    s = new String(c); //esim return new String(c);

    Äänestä

  • Java-guru kirjoitti:

    Merkkijonoja käsittelevät metodisi ovat täyttä puppua. Oletko koskaan edes koodannut Javalla?

    Javassa ei voi käyttää merkintää s[i] viitatakseen merkkijonon merkkiin. Javassa se tehdään näin: s.charAt(i).

    Toisekseen Javassa merkkijonot ovat immutable. Merkkijono-objektin sisältöä ei siis voi muuttaa.

    Kun ohjelmoit javalla vielä muutaman vuoden lisää (nyt varmaan aloittelet) huomaat että "Toisekseen Javassa merkkijonot ovat immutable. Merkkijono-objektin sisältöä ei siis voi muuttaa."
    ei pidä paikkaansa alkuunkaan. Jos et usko niin voin mielelläni heittää referenssiä.

    Äänestä

Kommentoi aloitusta


joku kirjoitti:

Tehtävänä on:

a) Metodi sana2 saa parametrinaan merkkijonon ja kokonaisluvun. Metodi muuttaa merkkijonon alkuosan kokonaisluvun ilmaisemaan kohtaan saakka tyhjiksi (välilyönneiksi). Loppuosa säilyy ennallaan. Metodi palauttaa muutetun merkkijonon.

b) Metodi sana2 saa parametrinaan merkkijonon, jonka kirjaimet metodi muuttaa tyhjiksi. Metodi palauttaa muunnetun merkkijonon.

c) Metodi sana2 saa parametrinaan liukuluvun. Metodi palauttaa luvun pyöristettynä lähimpään kokonaislukuun.

---------------------------------------

Olen saanut tehtyä tämän verran:

a)

private static void sana2() {
   System.out.println("Kirjoita sana:");
   String sana = Lue.rivi();
   
   System.out.println("Syötä kokonaisluku:");
   int kluku = Lue.kluku();
   
}


b)

private static void sana2() {
   System.out.println("Kirjoita sana:");
   String sana = Lue.rivi();
}


c)

private static void sana2() {
   System.out.println("Syötä kokonaisluku:");
   double lLuku = Lue.dluku();
}

--------------------------------------------

Ja kyllä, kyse on koulutehtävästä, mutta en pyydäkään teitä tekemään tätä minulle kokonaan valmiiksi, vaan auttamaan näissä pienissä ongelmissa, joita en osaa itse ratkaista. :)

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