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
334
Vastaukset
- 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
- 1933971
Tekisi niin mieli laittaa sulle viestiä
En vaan ole varma ollaanko siihen vielä valmiita, vaikka halua löytyykin täältä suunnalta, ja ikävää, ja kaikkea muuta m921896Miksi ihmeessä?
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek281572- 1651392
Erika Vikman diskattiin, tilalle Gettomasa ja paluun tekevä Cheek
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek https://www.rumba.fi/uut251266Pitääkö penkeillä hypätä Martina?
Eivätkö puistonpenkit ole istumista varten.Ei niitä kannata liata hyppäämällä koskaa likaantuvat eikä siellä kukaan niit2121140- 391132
Kuinka kauan
Olet ollut kaivattuusi ihastunut/rakastunut? Tajusitko tunteesi heti, vai syventyivätkö ne hitaasti?941109Maikkarin tentti: Orpo jälleen rauhallinen ja erittäin hyvä, myös Purra oli hyvä
Lindtman ja Kaikkonen oli kohtalaisia, sen sijaan punavihreät Koskela ja Virta olivat taas heikkoja. Ja vastustavat jalk1291093Milli-helenalla ongelmia
Suomen virkavallan kanssa. Eipä ole ihme kun on etsintäkuullutettu jenkkilässäkin. Vähiin käy oleskelupaikat virottarell1951016