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 chariksi. 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.