Java fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.8 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. Tässä tehtävässä harjoitellaan olioiden luomista ja niiden metodien kutsumista käyttäen apuna alla olevaa valmista Auto-luokkaa. Tallenna tehtävänannon lopussa oleva luokka itsellesi tiedostoon Auto.java ja luo uusi luokka AutoOhjelma, jonka main-metodissa teet seuraavat toimenpiteet:
  2. 1) Luo uusi "Tesla"-merkkinen auto ja laita viittaus tähän olioon talteen muuttujaan
  3. 2) Luo toinen "BMW"-merkkinen auto ja laita viittaus tähän olioon talteen eri muuttujaan
  4. 3) Kutsu Teslan aja-metodia arvolla 100.
  5. 4) Kutsu BMW:n aja-metodia arvolla 98.
  6. 5) Kutsu Teslan aja-metodia arvolla 23.
  7. 6) Tulosta Teslan merkkijonoesitys (toString) omalle rivilleen
  8. 7) Tulosta BMW:n merkkijonoesitys (toString) omalle rivilleen
  9. Huom! Koska kilometrit on yksityinen muuttuja, sen arvoa ei voida muuttaa luokan ulkopuolelta. Sinun on siis muutettava arvoa julkisen aja-metodin kautta.
  10. **Auto.java**
  11. ```
  12. // Tallenna tämä luokka itsellesi Auto.java-nimiseen tiedostoon.
  13. public class Auto {
  14. /*
  15. * Nämä muuttujat ovat jokaiselle autolle yksilölliset ja ne säilyvät koko olion
  16. * olemassaolon ajan.
  17. */
  18. private String merkki;
  19. private int kilometrit;
  20. /**
  21. * Tällä konstruktorilla alustetaan olion muuttujiin new-luontikäskyssä annetut
  22. * arvot.
  23. *
  24. * @param merkki
  25. */
  26. public Auto(String merkki) {
  27. this.merkki = merkki;
  28. this.kilometrit = 0;
  29. }
  30. /**
  31. * Tällä julkisella metodilla tarjotaan ulkopuolisille luokille mahdollisuus
  32. * muuttaa auton matkamittaria.
  33. *
  34. * @param kilometrit Kasvatettava kilometrimäärä kokonaislukuna
  35. */
  36. public void aja(int kilometrit) {
  37. this.kilometrit += kilometrit;
  38. }
  39. /**
  40. * toString-metodin avulla olioista voidaan muodostaa automaattisesti loogisia
  41. * merkkijonoesityksiä.
  42. */
  43. @Override
  44. public String toString() {
  45. return this.merkki + ", " + this.kilometrit + " km.";
  46. }
  47. }
  48. ```
  49. ```
  50. Example output:
  51. Tesla, 123 km.
  52. BMW, 98 km.
  53. ```
  54. ------------------
  55. **AutoOhjelma.java**
  56. ```
  57. /*
  58. 1. Luo uusi "Tesla"-merkkinen auto ja laita viittaus tähän olioon talteen muuttujaan
  59. 2. Luo toinen "BMW"-merkkinen auto ja laita viittaus tähän olioon talteen eri muuttujaan
  60. 3. Kutsu Teslan aja-metodia arvolla 100.
  61. 4. Kutsu BMW:n aja-metodia arvolla 98.
  62. 5. Kutsu Teslan aja-metodia arvolla 23.
  63. 6. Tulosta Teslan merkkijonoesitys (toString) omalle rivilleen
  64. 7. Tulosta BMW:n merkkijonoesitys (toString) omalle rivilleen
  65. */
  66. public class AutoOhjelma {
  67. public static void main(String[] args) {
  68. Auto Tesla = new Auto("Tesla");
  69. Auto BWM = new Auto("BMW");
  70. Tesla.aja(100);
  71. BWM.aja(98);
  72. Tesla.aja(23);
  73. System.out.println(Tesla.toString());
  74. System.out.println(BWM.toString());
  75. }
  76. }
  77. ```