Helppo Java ohjelmointikysymys?

  • Keskustelun aloittaja Keskustelun aloittaja kgb
  • Aloitettu Aloitettu
Kutsut esim. Lue-nimisen luokan staattista rivi-metodia, ja paluuarvo (joka on oletettavasti merkkijono) sijoitetaan syottorivi-muuttujaan muistiin. Eli ohjelma tarvitsee Lue.java tiedoston ja käännettynä Lue.class tiedoston jossa on nuo rivi, kluku ja dluku-metodit. Nuo metodit on harjoituksessa ilmeisesti kirjoitettu valmiiksi, kun javassa on hieman vaikeampi lukea promptilta syötettyjä tietoja, kuin vaikka C:n johdannaisissa.
 
10% ALENNUS KOODILLA PAKKOTOISTO
Nostetaas tätä vähän. Eli pieni java ongelma kanssa on, mikä pitäisi olla aivan yksinkertainen, mutta nyt ei vaan aukea.

Eli minulla on kaksi luokkaa, sanotaan vaikka luokka1 ja luokka2. Luokka 2 on pääluokka jossa on main metodi yms. ja olen tähän luokkaan kutsunut luokka1:n.
Luokka1 pitää sisällään tietokannan ja tätä taas käytetään luokka2 avulla. Nyt jos haluan viedä luokka2 avulla tuonne luokka1 sisälle jotain tietoa niin miten tämä onnistuu?

jos minulla olis vaikka tälläinen pätkä luokka2:ssa.

public static void uusi(){
String nimi, osoite;
int henkilönumero;

System.out.println("Mikä on nimesi?");
nimi = sc.nextLine();
System.out.println("Mikä on osoitteesi?");
osoite = sc.nextLine();
System.out.println("Mikä on henkilötunnuksesi?");
henkilönumero = sc.nextInt();
}

ja haluaisin saada nämä luokka1 sisälle jossa olisi esimerkiksi:

public void henkilö(){
.............
}

Toivottavasti joku tajusi, mitä haen takaa :).
 
Nostetaas tätä vähän. Eli pieni java ongelma kanssa on, mikä pitäisi olla aivan yksinkertainen, mutta nyt ei vaan aukea.

Eli minulla on kaksi luokkaa, sanotaan vaikka luokka1 ja luokka2. Luokka 2 on pääluokka jossa on main metodi yms. ja olen tähän luokkaan kutsunut luokka1:n.
Luokka1 pitää sisällään tietokannan ja tätä taas käytetään luokka2 avulla. Nyt jos haluan viedä luokka2 avulla tuonne luokka1 sisälle jotain tietoa niin miten tämä onnistuu?

jos minulla olis vaikka tälläinen pätkä luokka2:ssa.

public static void uusi(){
String nimi, osoite;
int henkilönumero;

System.out.println("Mikä on nimesi?");
nimi = sc.nextLine();
System.out.println("Mikä on osoitteesi?");
osoite = sc.nextLine();
System.out.println("Mikä on henkilötunnuksesi?");
henkilönumero = sc.nextInt();
}

ja haluaisin saada nämä luokka1 sisälle jossa olisi esimerkiksi:

public void henkilö(){
.............
}

Toivottavasti joku tajusi, mitä haen takaa :).

Veikkaukseni on, että haet takaa metodin parametreja. Eli kun määrittelet Luokka1:lle julkisen metodin, voit määritellä sen niin, että se ottaa parametrina esim. nuo henkilötiedot. Sanoit, että Luokka1 sisältää tietokannan, joten oletan, että osaat jo käyttää sitä jollakin tapaa.

Eli tuohon Luokka1:n metodiin voisit lisätä parametrit vaikkapa näin:

public class Luokka1 {
// Konstruktori, tietokantahässäkät yms

// Henkilön lisäys metodilla
public void henkilo(String nimi, String osoite, int henkilonumero) {
// Tallenna henkilö tietokantaan tai mitä nyt teetkään sillä
}
}

Tuota henkilo()-metodia sitten kutsut kivasti sieltä pääluokasta.
 
Taikka ihan perus setter/getter systeemilla... vaikka tämähän onkin pahasta...

tyyliin siis (tyhmä esimerkki):

public class Luokka2 {

public static void main(String[] args) {
Luokka1 luokka1 = new Luokka1();

String firstName = luokka1.getFirstName();
String lastName = luokka1.getLastName();

System.out.println("My name was is: " + firstName + " " + lastName);

luokka1.setFirstName("Suppo");

System.out.println("But now it's: " + luokka1.getFirstName() + " " + lastName);

}

}

class Luokka1 {
private String firstName = "Seppo";
private String lastName = "Taalasmaa";

public String getFirstName() {
return firstName;
}

public void setFirstName(String name) {
this.firstName = name;

}

public String getLastName() {
return lastName;
}

}
 

Latest posts

Suositut

Back
Ylös Bottom