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?
seuraavaan ongelmaan apuja
4
413
Vastaukset 4
- 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
Haluatko että unohdan sinut kokonaan
Siihen suuntaan ollaan menossa, nyt jo. Ja ehkä parempi näin, niin ei kulu energiaa hukkaan mahdottomuuteen. Ja vaikka j771118- 42804
Pisa-tulokset.....
Tuoreen tutkimuksen mukaan suomalaisten osaaminen on edelleen OECD-maiden keskitasoa parempaa. Kantaväestön oppilaiden234684Haapaveden upea kurvikuningatar
No nyt on kyllä mahtava uutinen että Haapaveden rohkea ja toimelias nainen ja yrittäjä on päässyt finaaliin kurvikuninga50535Meinasi nainen mennä pasmat sekaisin
Rupesin vapisemaan, kun huomasin sinut. Mutta sain sentään juuri ja juuri koottua itseni, etten ihan häpäissyt itseäni.34532- 45528
Uskaltaisitko ihana nuorempi nainen lähettää
WhatsApp -viestiä, jos sulla on mun numero. Olisin ihan haltioitunut... Tykkään ja kaipaan ❤️❤️75501- 23478
- 23432
Ihan pikku vinkki
Kannattaa tallentaa kaikki mitä sen naisen kanssa puhuu ettei tule hankaluuksia myöhemmin52429