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); } }
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 char
iksi. En kokeillut, mutta veikkaisin virheen olevan tässä.
Tässä luettavaa, jotta käyttäisit kuvaavampia muuttujien nimiä:
http://tottinge.blogsome.com/meaningfulnames/
Aihe on jo aika vanha, joten et voi enää vastata siihen.