Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. public class Setelit {
  2. public static void main(String[] args) {
  3.  
  4. //Seteleiden aitouden tarkastaja
  5. //selvitetään ovatko setelit aitomalla laskemalla niiden numerot yhteen
  6. //Lauri Mattila 99594
  7.  
  8. boolean setelisarjaOikein = false;
  9. boolean sarja1 = false;
  10.  
  11. int setelisarja;
  12. int seteliYht = 0;
  13. int seteliYhtapumuuttuja;
  14. int merkkilaskuri = 1;
  15.  
  16. char setelinNumero;
  17.  
  18. System.out.println ("Moi! Tutkin euroseteleiden sarjanumeroja.");
  19.  
  20. //Tässä ohjelma tiedustelee setelisarjan ja tulostaa
  21. //virheilmoituksen jos käyttäjä antaa väärän syötteen
  22.  
  23. do {
  24. System.out.println ("Setelisarja (1/2)");
  25. setelisarja = In.readInt();
  26.  
  27. if (setelisarja == 1 || setelisarja == 2) {
  28. setelisarjaOikein = true;
  29. }
  30. else {
  31. System.out.println ("Virhe!");
  32. }
  33.  
  34. }
  35. while (setelisarjaOikein == false);
  36.  
  37. //Seuraavaksi tiedustellaan setelin merkkejä.
  38. //jos annettu sarja on 1, mennään if lausekkeeseen
  39. //muuten else (eli jos sarja on 2. Tässä vaiheessa siinä ei muuta voi olla).
  40.  
  41. if (setelisarja == 1) {
  42.  
  43. //tämä do while on ensimmäiselle kirjaimelle
  44. do {
  45. System.out.println ("anna " + merkkilaskuri + ". merkki:");
  46. setelinNumero = In.readChar();
  47.  
  48. if (setelinNumero >= 'A' && setelinNumero <= 'Z' ) {
  49.  
  50. if (setelinNumero == 'A' || setelinNumero == 'J' || setelinNumero == 'S') {
  51. setelinNumero = 2;
  52. }
  53. else if (setelinNumero == 'B' || setelinNumero == 'K' || setelinNumero == 'T') {
  54. setelinNumero = 3;
  55. }
  56. else if (setelinNumero == 'C' || setelinNumero == 'L' || setelinNumero == 'U') {
  57. setelinNumero = 4;
  58. }
  59. else if (setelinNumero == 'D' || setelinNumero == 'M' || setelinNumero == 'V') {
  60. setelinNumero = 5;
  61. }
  62. else if (setelinNumero == 'E' || setelinNumero == 'N' || setelinNumero == 'W') {
  63. setelinNumero = 6;
  64. }
  65. else if (setelinNumero == 'F' || setelinNumero == 'O' || setelinNumero == 'X') {
  66. setelinNumero = 7;
  67. }
  68. else if (setelinNumero == 'G' || setelinNumero == 'P' || setelinNumero == 'Y') {
  69. setelinNumero = 8;
  70. }
  71. else if (setelinNumero == 'H' || setelinNumero == 'Q' || setelinNumero == 'Z') {
  72. setelinNumero = 9;
  73. }
  74. else if (setelinNumero == 'I' || setelinNumero == 'R') {
  75. setelinNumero = 1;
  76. }
  77.  
  78. seteliYht = seteliYht + setelinNumero;
  79. merkkilaskuri = merkkilaskuri + 1;
  80. }
  81. else {
  82. System.out.println ("virhe!");
  83. }
  84. }
  85. while (merkkilaskuri == 1);
  86.  
  87. //tämä do while on seuraaville numeroille, paitsi viimeiselle numerolle se ei tosin vielä toimi
  88. do {
  89. System.out.println ("anna " + merkkilaskuri + ". merkki:");
  90. setelinNumero = In.readChar();
  91.  
  92. if (setelinNumero >= '0' && setelinNumero <= '9') {
  93. seteliYht = seteliYht + setelinNumero;
  94. merkkilaskuri = merkkilaskuri + 1;
  95. }
  96. else {
  97. System.out.println ("virhe!");
  98. }
  99.  
  100. }
  101. while (merkkilaskuri < 12 && merkkilaskuri > 1 );
  102.  
  103. //tässä loopissa lasketaan viimeinen numero, eli tarkistenumero
  104. //jos tarkistenumero on tunnettu, mennään ensimmäiseen if lausekkeeseen
  105. //jos tuntematon niin toiseen
  106. //jos väärä syöte niin kolmannessa tulostetaan virhe ilmoitus
  107. do {
  108. System.out.println ("anna " + merkkilaskuri + ". merkki:");
  109. setelinNumero = In.readChar();
  110.  
  111. if (setelinNumero <= '1' && setelinNumero >= '9') {
  112. seteliYht = seteliYht + setelinNumero;
  113. merkkilaskuri = merkkilaskuri + 1;
  114.  
  115. do {
  116.  
  117. seteliYhtapumuuttuja = seteliYht;
  118. do {
  119. seteliYht = seteliYht % 10;
  120. }
  121. while (seteliYht > 10);
  122.  
  123. do {
  124. seteliYhtapumuuttuja = seteliYhtapumuuttuja % 10;
  125. }
  126. while (seteliYhtapumuuttuja > 10);
  127. seteliYht = seteliYhtapumuuttuja + seteliYht;
  128. }
  129. while (seteliYht > 10);
  130.  
  131. if (seteliYht == 9) {
  132. System.out.println ("oikein");
  133. }
  134. else {
  135. System.out.println ("väärin");
  136. }
  137.  
  138.  
  139.  
  140. }
  141. // else if (setelinNumero == '?') {
  142.  
  143. // }
  144. // else if {
  145. // System.out.println ("virhe!");
  146. // }
  147. }
  148. while (merkkilaskuri < 13 && merkkilaskuri > 12);
  149.  
  150. }
  151.  
  152.  
  153.  
  154. //ei huomioida tätä vielä!! kokeilua varten vasta.
  155.  
  156. // else {
  157. // do {
  158. // System.out.println ("anna " + merkkilaskuri + ". merkki:");
  159. // }
  160.  
  161. // }
  162.  
  163. }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement