Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java, merkin tulostus

JimProfit [06.03.2009 15:24:57]

#

terve. Osaisko joku sanoa miten saan ton tulostamaan syötetyn merkkijonon.
esim. 5 kappaletta kirjaimia y: yyyyy.

Nyt se tulostaa vain numeroita, ei kirjaimia tai muita merkkejä.

ublic class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        Scanner reader = new Scanner (System.in);

        char a = 0;
        char b = 0;

        System.out.println("How many symbols?: ");
        a = (char) reader.nextInt();

        System.out.println("Enter symbol: ");
        b = (char) reader.nextInt();

        int star = giveStars(a,b);
        System.out.println(+star);

    }

    private static char giveStars(char i, char i0) {

      for(char x = 1; x < i + 1; x++){

            System.out.print(+i0);                }
            return (i);
    }
}

Mobel [06.03.2009 16:15:07]

#

Elikkäs char on Javan primitiivityyppinen merkkimuuttuja ja se sisältää esimerkiksi yhden kirjaimen. char:lle voi antaa arvoksi myös numeron, jolloin numero vastaa jotakin merkkiä.

Ohjelmasi a-muuttuja olisi järkevämpää esitellä int-tyyppiseks, joka sisältää kokonaislukuja. Toki ohjelma toimii noinkin, mutta nyt luvut tallennetaan merkeille tarkoitettuun muuttujaan, mikä vähintäänkin sekoittaa koodia.

Toiminnan kannalta suurempi ongelma löytyy star-muuttujan tyypistä. giveStars()-metodi palauttaa arvon tyyppiä char, mutta star-muuttuja on tyyppiä int. Muuta siis star:in tyyppi chariksi. En kokeillut, mutta veikkaisin virheen olevan tässä.

Jackal von ÖRF [06.03.2009 18:02:03]

#

Tässä luettavaa, jotta käyttäisit kuvaavampia muuttujien nimiä:
http://tottinge.blogsome.com/meaningfulnames/

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta