laskurilla (esim. for-lauseella) voi tulostaa lukuja niin paljon kuin pitää. Entä jos aina tietyntyylisen (esim. 7:llä jaollinen) luvun kohdalla kyseinen luku korvautuu merkkijonolla (esim. piip).
Eli jos käyttäjä haluaa tulostaa 10 lukua ja korvataan 7:llä jaollinen merkkijonolla "piip", tulostuisi:
1, 2, 3, 4, 5, 6, piip, 8, 9, 10.
Tehtävän ymmärrän muuten, mutta System.out.print:llä ( kun on määritelty if( i % 7 == 0) ja i on laskurimuuttuja) tulostuu piip7.
Eli jos käyttäjä haluaa tulostaa 10 lukua ja korvataan 7:llä jaollinen merkkijonolla "piip", tulostuisi:
1, 2, 3, 4, 5, 6, piip, 8, 9, 10.
Tehtävän ymmärrän muuten, mutta System.out.print:llä ( kun on määritelty if( i % 7 == 0) ja i on laskurimuuttuja) tulostuu piip7.
Vastaukset 3
Vanhimmat
Piip ehdon tulkinta "if (i % 7 == 0)" on ihan oikein. Todennäköisesti virheesi on se, että tulostat numeron joka kerta. Joudut siis lisäämään ehdon, että numero tulostetaan vain silloin kun numero ei ole jaollinen seitsemällä "if (i % 7 != 0)". Alla yksi esimerkki (ei tosin käytä if tarkastelua).
--- ALKAA ---
public class Esimerkki {
public static void main(String[] args) {
for (int i = 1; i < 1 + 10; i++)
System.out.print(((i > 1) ? ", " : "") + ((i %7 == 0) ? "piip" : i));
System.out.println(".");
}
}
--- LOPPUU ---
laitan siihen iffiis että
if( i % 7 == 0)
{
System.out.println("piip");
}
else System.out.println("" + i);
Nyt taidat aina tulostaa myös sen i:n arvon
5:llä jaollisella jotain muuta, esim. pöö.
kun on jaollinen sekä 5:llä että 7:llä, pitäisi tulostaa piip pöö. Ohjelmani tulostaa kuitenkin piippöö. Miten siihen saisi sen välilyönnin, kuitenkin siten että piip pöö:n jälkeen tulee pilkku ilman välilyöntiä.