Esimerkki: Syötettyjen lukujen summaaminen
Yksittäinen merkki näppäimistöltä syötetään key-komennolla. Kun luomme String-tyyppisen muuttujan: kirjoita, niin laskurilla: kirjoita = kirjoita + key; voimme lisätä merkkejä tähän laskuriin, jolloin saamme merkkijonon. Konversiolla int(); voimme tämän merkkijonon taas muuttaa kokonaisluvuksi, joka voidaan helposti taas summata omaan summa laskuriin. Tehdään ohjelma, joka summaa näppäimistöltä syötettyjä lukuja yhteen. Huomaa, että tämä esimerkki toimii vain PC-koneilla.
|
// Ohjelman tehnyt e-Oppi Oy
// 30.9.2017
String kirjoita =""; // Uusi teksti
String kirjoitettu=""; // Vanha teksti
int summa = 0; // Lukujen summa
int laskuri = 1; // Syötettyjen lukujen määrä
void setup () {
size(600,200); // ikkunan koko
fill(0); // Musta täyttöväri
textSize(30); // Tekstin koko 30
}
void draw () {
background(255); // Tyhjennä tausta
text("Anna "+laskuri+". luku:",50,50); // Kysy luku
text(kirjoita,60+textWidth("Anna"+laskuri+". luku:"),50);
// Tulosta nykyinen luku
text("Lukujen summa on: "+summa,50,100);
// Tulosta lukujen summa
}
void keyPressed() {
if (key == '\n') { // Jos painetaan Enter
kirjoitettu = kirjoita;
// Siirrä nykyinen merkkijono vanhaan merkkijonoon
kirjoita =""; // Nollaa nykyinen merkkijono
summa = summa+int(kirjoitettu);
// Laske syötettyjen lukujen summa.
// int()-komento muuttaa merkit luvuksi.
laskuri = laskuri + 1; // Kasvata laskuria yhdellä
} else { // Muutoin kasvata merkkijonoa
kirjoita = kirjoita+key;
// Lisää yksittäinen syötetty merkki merkkijonoon
}
}
Aluksi ohjelma kysyy lukua. Napsauta aluksi hiirellä ikkunaa ja sitten syötä haluamasi luku. Esimerkiksi tässä luvuksi on syötetty viisi.

Kun painat Enteriä, niin syötetty luku siirtyy summa muuttujalle. Voit nyt syöttää toisen luvun. Laskuri-muuttujasta näet sen, että monennenko luvun olet nyt syöttämässä. Anna toinen luku. Esimerkiksi tässä toinen luku on seitsemän.

Kun painat Enteriä, niin summa muuttuja kasvaa viidellä ja laskuri muuttuja yhdellä. Voit jatkaa lukujen syöttämistä. Kokeile myös syöttää isompia lukuja.

Tehdään sama ohjelma vertailun vuoksi käyttäen Javan syöttökenttiä.
// Ohjelman tehnyt e-Oppi Oy
// 1.1.2018
import static javax.swing.JOptionPane.*;
int summa = 0; // Lukujen summa
int laskuri = 1; // Syötettyjen lukujen määrä
void setup () {
size(600,200); // ikkunan koko
fill(0); // Musta täyttöväri
textSize(30); // Tekstin koko 30
background(255); // Tyhjennä tausta
}
void draw () {
int luku; // Määritellään luku muuttuja
String vastaus1 = showInputDialog(null,"Anna "+laskuri+" luku"); // Kysy luku
if (vastaus1 != null) { // null=cancel
luku= int(vastaus1); // Konversio vain jos painettu OK (ei null)
summa = summa+luku; // Summaa luvut
}
int vastaus2= showConfirmDialog(null, "Lopeta lukujen syöttäminen?"); // 0=yes, 1=no, 2=cancel
if (vastaus2 == 0) { // Jos vastaus on yes eli 0, niin
text("Olet syöttänyt: "+laskuri+" kpl lukuja",50,50);
text("Lukujen summa on: "+summa,50,100);
noLoop(); // Lopeta void draw ()-lohkon toisto
} else { // Kaikissa muissa tapauksissa
laskuri++; // kasvata laskuria
}
}
Tähän on lisätty kysymys, että syötetäänkö lisää lukuja. Kun lukuja ei enää syötetä, niin tulostetaan syötettyjen lukujen määrä ja summa.