seuraavaan ongelmaan apuja

I'm back

Eli ohjelma, jossa kysytään ikää, etunimeä ja sukunimeä. Iän, etunimen ja sukunimen kysymiset omassa luokassa. Tuolta ne pitäisi saada Henkilö-oliolle. Henkilö olion tiedot pitäisi tallettaa tiedostoon ja sitten lukea tiedosto (C:\..) ja tulostaa tiedot näytölle.

Eli näin olen lähtenyt kehittämään:

---ALKAA----
import java.util.Scanner;
import java.io.*;

public class HarjoitusHenkilot {

private static final Scanner lukija = new Scanner(System.in);


public class Henkilotiedot implements Serializable{

int ika;
String etunimi;
String sukunimi;
}

public static void main(String[] args) {

TietojenSyottaminen henkilotietojensyotto;
henkilotietojensyotto=new TietojenSyottaminen();

int ika=henkilotietojensyotto.KysyIka();
String etunimi=henkilotietojensyotto.KysyEtuNimi();
String sukunimi=henkilotietojensyotto.KysySukuNimi();

System.out.println("\nIka: " ika);
System.out.println("Etunimi: " etunimi);
System.out.println("Sukunimi: " sukunimi);
}

---TÄHÄN LOPPUU NYT-------

Nuo KysyIka ym. on omassa luokassa nimeltä TietojenSyottaminen ja se toimii eli kysymykset tulee ja voin siihen syöttää

Miten nuo tiedot saan tuonne Henkilotiedot -olioon? Onhan tuo muuten olio?

4

364

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • jo--

      Ensin pitää luoda olio jotta olioon voisi siirtää jotain. Olion luonti tapahtuu new käskyllä, jossa new sanan jälkeen kerrotaan olion luokkan nimi. Esim. seuravaasti.

      --- ALKAA ---

         System.out.println("\nIka: " ika);
         System.out.println("Etunimi: " etunimi);
         System.out.println("Sukunimi: " sukunimi);

         Henkilotiedot henkio = new Henkilotiedot();
            
         henkio.ika = ika;
         henkio.etunimi = etunimi;
         henkio.sukunimi = sukunimi;

      --- LOPPUU ---

      Tuo yllä oleva esimerkki toimii vain, jos tuo esimerkkisi Henkilotiedot luokka on siirrettynä omaan "Henkilotiedot.java" -tiedostoon. Tuon esimerkkisi kaltaisia sisäkkäisiä luokka rakenteita ei muutoinkaan kanatta luoda ellei siihen näe jotain erittäin hyvää syytä tai tarvetta, eli kaikki luokat kannattaa tehdä omiin tiedostoihinsa.

      • tiedostoon luokan

        olenkin aikaisemmin tehnyt erilliseen tiedostoon luokan, mutta oli eräässä esimerkissä samassa niin kokeilin sitten myös samassa.


      • fidel1
        tiedostoon luokan kirjoitti:

        olenkin aikaisemmin tehnyt erilliseen tiedostoon luokan, mutta oli eräässä esimerkissä samassa niin kokeilin sitten myös samassa.

        Yhdessä käännösyksikössä, eli java-tiedostossa voi olla vain yksi public:ksi määritelty luokka ja sen pitää olla samanniminen kuin java-tiedosto. Muita luokkia voi sitten olla kuinka monta vain.


    • tuo

      Suosittelen että luot HarjoitusHenkilöt-luokkaan get- ja set-metodit jokaiselle muuttujalle. Esimerkiksi public void setIka(int ika){this.ika = ika;} ja public int getIka(){return this.ika;}
      Tämän jälkeen voit käyttää HarjoitusHenkilöt luokaa seuraavasti: HarjoitusHenkilö hh = new HarjoitusHenkilö(); hh.setIka(henkilotietojensyotto.KysyIka());
      System.out.println("\n Ika :" hh.getIka());

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      101
      7453
    2. 83
      5082
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      79
      4879
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      132
      4278
    5. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      10
      3068
    6. Miksi sä valitsit

      Juuri minut sieltä?
      Ikävä
      52
      2709
    7. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      40
      2616
    8. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      53
      2257
    9. Törkeää toimintaa

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      10
      2231
    10. Suudeltiin unessa viime yönä

      Oltiin jossain rannalla jonkun avolava auton lavalla, jossa oli patja ja peitto. Uni päättyi, kun kömmit viereeni tähtit
      Ikävä
      21
      1850
    Aihe