
Java - Konstruktor - jak na to?
Dobrý den,
potřeboval bych v Java zadat body (A,B,C) které mají souřadnice x a y nastavení souřadnic mám nastavit přes konstruktor ale vůbec nevím jak na to.
Poradil by mi někdo prosím?
Změna předmětu, původně: Java - Konstruktor (Kráťa)
Ahoj,
Budes mit nejakou classu treba body a ta bude mit nejakou funkci/konstruktor, ktera
a) nema navratovy typ
b) jmenuje se stejne jako trida tedy treba body
takze neco ve stylu:
a pak muzes vytvorit novy objekt pres konstruktor a dat mu ty zkurvene parametry new body(1,2,3);
Jen nastrel, jeste je treba rozhodnout co to bude za parametry, jak se budou ukldatat atd.
nebo mozna je to trosku jinak - podle toho co dotycny (patrne ucitel, hehe smesne pvolani) chce - muze to byt naprikat konztruktor z Point obejktu nebo 3x Point objekt napriklad z awt, pak priklad zde:
http://www.java2s.com/Tutorial/Java/0261__2D-Graph ics/Pointclass.htm
Point location = new Point(4, 13);
zde jsou zadany konstruktorem x a y
Mno chce po nás aby jsme vytvořili třídu pro reprezentaci bodu jeho souřadnicemi a výpočet jeho vzdálenosti. souřadnice musí být zadané přes konstruktor. A pak máme vytvořit třídu Vzdálenost která nejdříve vytvoří body A,B,C a pak vypíše o kolik je cesta z A do C kratší než z A do C přes B.
no tak ta prva odpoved je pre teba. Samozrejme to musis patricne dokoncit, ta odpoved bol len naznak ze jak na to.
A kde je problém?
Bod.java
Vzdalenost.java
Mno problém je že nějak pořád nemůžu pochopit princip jak tam nastavím aby při běhu programu si tam uživatel mohl zadat jakékoliv body a při výpisu mi to vypisuje strašné tvary.
Tak ukaž, co máš.
Takhle jsem zkousel napsat ten hlavni program.Body jsem teda zatim neresil na zadani od uzivatele protoze netusim jak na to.A do toho jak ste mi psal sem doplnit kod pro vypocet tak mi to vyhazovalo chybu kdyz jsem se tam snazil zadat jen treba jednoduchy soucet zavysli na tech bodech. Tak jsem tam napsal jen "rozdil = 5-3" ale vysledek mi to vyplivlo takhle Vzdalenost@8dc8569. Já vím že to je asi dost primitivní ale já programovaní mám teprve druhý semestr a zatím važně dost plavu.
public class Body {
public static void main (String [] args){
Bod a = new Bod (3,2);
Bod b = new Bod (2,1);
Bod c = new Bod (1,0);
Vzdalenost v = new Vzdalenost(a,b,c);
System.out.println(v);
}
}
Teprve druhý semestr? Kdyby jsi řekl druhý měsíc, tak dejme tomu, ale po půl roce bys toho měl umět sakra víc.
V prvním semestru jsme tohle vubec nedelali.TAm jsme probirali cykly,pole,vyjímky atd. A ted vlastne hned nazacatku jsme zacli s konstruktorama a ja porad nemuzu pochopit princip.
Konstruktor je prostě metoda, která se provede při vytvoření objektu. Navíc ten výpis s konstruktorem vůbec nesouvisí.
Takže prostě místo metody vytvořím konstruktor a procuji sním stejně jako s metodou? Mě dělá problém že když nechápu princip tak prostě pak dál vůbec nevím jak stím pracovat atd.
Zase tak stejně se s ním nepracuje. Používá se k vytváření objektu, k nastavení počátečních hodnot proměnných a pod.
A když potřeboval ty hodnoty promněných nastavit uživatelem tak to můžu dělat například přes Scanner?
Přes Scanner je přečteš ze vstupu. Hodnoty pak nastavíš pomocí tebou vytvořené Set metody.
To snad nebylo zadani, ne? Pokud je to obecne, necht to udela pres parametry main a ma to jednodussi. Prece se nebude zbytecne delat s nejakym vstupnim rozhranim, kvuli nekomu kdo to dotáhl nejvís na ucitele
Tak už se mi to podařilo vytvořit děkuji už konečně chápu princip.