Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Setelit {
- public static void main(String[] args) {
- //Seteleiden aitouden tarkastaja
- //selvitetään ovatko setelit aitomalla laskemalla niiden numerot yhteen
- //Lauri Mattila 99594
- boolean setelisarjaOikein = false;
- boolean sarja1 = false;
- int setelisarja;
- int seteliYht = 0;
- int seteliYhtapumuuttuja;
- int merkkilaskuri = 1;
- char setelinNumero;
- System.out.println ("Moi! Tutkin euroseteleiden sarjanumeroja.");
- //Tässä ohjelma tiedustelee setelisarjan ja tulostaa
- //virheilmoituksen jos käyttäjä antaa väärän syötteen
- do {
- System.out.println ("Setelisarja (1/2)");
- setelisarja = In.readInt();
- if (setelisarja == 1 || setelisarja == 2) {
- setelisarjaOikein = true;
- }
- else {
- System.out.println ("Virhe!");
- }
- }
- while (setelisarjaOikein == false);
- //Seuraavaksi tiedustellaan setelin merkkejä.
- //jos annettu sarja on 1, mennään if lausekkeeseen
- //muuten else (eli jos sarja on 2. Tässä vaiheessa siinä ei muuta voi olla).
- if (setelisarja == 1) {
- //tämä do while on ensimmäiselle kirjaimelle
- do {
- System.out.println ("anna " + merkkilaskuri + ". merkki:");
- setelinNumero = In.readChar();
- if (setelinNumero >= 'A' && setelinNumero <= 'Z' ) {
- if (setelinNumero == 'A' || setelinNumero == 'J' || setelinNumero == 'S') {
- setelinNumero = 2;
- }
- else if (setelinNumero == 'B' || setelinNumero == 'K' || setelinNumero == 'T') {
- setelinNumero = 3;
- }
- else if (setelinNumero == 'C' || setelinNumero == 'L' || setelinNumero == 'U') {
- setelinNumero = 4;
- }
- else if (setelinNumero == 'D' || setelinNumero == 'M' || setelinNumero == 'V') {
- setelinNumero = 5;
- }
- else if (setelinNumero == 'E' || setelinNumero == 'N' || setelinNumero == 'W') {
- setelinNumero = 6;
- }
- else if (setelinNumero == 'F' || setelinNumero == 'O' || setelinNumero == 'X') {
- setelinNumero = 7;
- }
- else if (setelinNumero == 'G' || setelinNumero == 'P' || setelinNumero == 'Y') {
- setelinNumero = 8;
- }
- else if (setelinNumero == 'H' || setelinNumero == 'Q' || setelinNumero == 'Z') {
- setelinNumero = 9;
- }
- else if (setelinNumero == 'I' || setelinNumero == 'R') {
- setelinNumero = 1;
- }
- seteliYht = seteliYht + setelinNumero;
- merkkilaskuri = merkkilaskuri + 1;
- }
- else {
- System.out.println ("virhe!");
- }
- }
- while (merkkilaskuri == 1);
- //tämä do while on seuraaville numeroille, paitsi viimeiselle numerolle se ei tosin vielä toimi
- do {
- System.out.println ("anna " + merkkilaskuri + ". merkki:");
- setelinNumero = In.readChar();
- if (setelinNumero >= '0' && setelinNumero <= '9') {
- seteliYht = seteliYht + setelinNumero;
- merkkilaskuri = merkkilaskuri + 1;
- }
- else {
- System.out.println ("virhe!");
- }
- }
- while (merkkilaskuri < 12 && merkkilaskuri > 1 );
- //tässä loopissa lasketaan viimeinen numero, eli tarkistenumero
- //jos tarkistenumero on tunnettu, mennään ensimmäiseen if lausekkeeseen
- //jos tuntematon niin toiseen
- //jos väärä syöte niin kolmannessa tulostetaan virhe ilmoitus
- do {
- System.out.println ("anna " + merkkilaskuri + ". merkki:");
- setelinNumero = In.readChar();
- if (setelinNumero <= '1' && setelinNumero >= '9') {
- seteliYht = seteliYht + setelinNumero;
- merkkilaskuri = merkkilaskuri + 1;
- do {
- seteliYhtapumuuttuja = seteliYht;
- do {
- seteliYht = seteliYht % 10;
- }
- while (seteliYht > 10);
- do {
- seteliYhtapumuuttuja = seteliYhtapumuuttuja % 10;
- }
- while (seteliYhtapumuuttuja > 10);
- seteliYht = seteliYhtapumuuttuja + seteliYht;
- }
- while (seteliYht > 10);
- if (seteliYht == 9) {
- System.out.println ("oikein");
- }
- else {
- System.out.println ("väärin");
- }
- }
- // else if (setelinNumero == '?') {
- // }
- // else if {
- // System.out.println ("virhe!");
- // }
- }
- while (merkkilaskuri < 13 && merkkilaskuri > 12);
- }
- //ei huomioida tätä vielä!! kokeilua varten vasta.
- // else {
- // do {
- // System.out.println ("anna " + merkkilaskuri + ". merkki:");
- // }
- // }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement