Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Autor | Správa |
---|
Registrovaný: 30.10.08 Prihlásený: 25.04.11 Príspevky: 154 Témy: 13 | 13 |
2 hodiny sa trapim so zadanim do skoly a neviem ako dalej. Potreboval by som poradit ako na to... S poradit myslim fakt len poradit - naviest k spravnemu rieseniu napr kuskom kodu, nie cely program.
Zadanie píše: Navrhnite verejnú triedu "ParneNeparne" tak, aby boli používateľovi tejto triedy unmožnené nasledujúce operácie:
1. načítať z klávesnce ľubovoľný počet celočíselných hodnôt z intervalu <5,100>, 2. načítavanie z klávesnice môžete ukončiť vložením ľubovoňej zápornej hodnoty, 3. zistite, koľko bolo vložených párnych a nepárnych hodnôt, 4. vypočítajte,súčet párnych a súčet nepárnych vložených hodnôt. Pre triedu vhodným spôsobom navrhnite triedne a inštančné atribúty. Zistené výsledky vypíšte na výstupný terminá
Cisla aby boli z 5-100 v pohode spravim so Scanner. Aj to ukoncenie so zapornou hodnotou by som celkom vedel. Ale netusim ako to spravit, aby som ich mohol zadat viac (cisiel) a potom tie operacie s nimi. Teda, no, priblizne viem co chcem ale neviem ako to napisat. Parnost myslim ze sa robim ako (x % 2 == 0) , neparnost bude potom (!x % 2 == 0) ??
Urobim cyklus while ktory bude brat cisla z 5-100 a prestane s tym az ked sa vlozi zaporne cislo. Tento cyklus by vsak kazde jedno vlozene cislo spracoval tak, ze by zistil ze je parne alebo neparne (if...), dostalo by potom nejaky identifikator, napr. "p" (parne) a "n" (neparne) pricom kazde dalsie cislo by bolo p++ (n++). Tieto "p" a "n" by sa potom na zaver spocitali ako sucet ich mnozstva, a potom aj sucet ich hodnout.
to co je kurzivou velmi vzdialene tusim ako asi na to, to co je tucne nemam vobec ponatia.
|
|
Registrovaný: 02.07.06 Prihlásený: 19.12.24 Príspevky: 14266 Témy: 315 | 315 Bydlisko: Bratislava |
to zadavanie by neslo robit cez pole ? zistit sucet prvkov v poli by nemusel byt taky problem. Ale je to cisto teoria, rano by som sa do toho pustil, chodime zrejme na tu istu skolu do toho isteho rocnika, takze ma to asi tiez caka
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 16.02.08 Prihlásený: 08.12.10 Príspevky: 235 Témy: 13 | 13 |
neviem, ja osobne by som to mal na 10 minut roboty. 5, aby som si pamatal ako nacitat vstup. Ako je to fakt zakladne cvicenie.
Hint 1: Pouzi intuiciu a skusaj kodit (pisat kod a nie tu do fora)
Hint 2: Nepotrebujes ani ziadne pole
Posledna veta zadania je typickym prikladom, ako sa niekto snazi exaktne napisat v cistej slovencine. Je to na proti slovencine a mojim usiam // pridané po 5 minútach od posledného príspevku jo a ta uloha nema (nemusi mat) ale vobec nic s triedim cisiel. Ak vies rozsah cisiel a nie je velky, ako v tomto pripade, tak sa daju utriedit linearne radixsortom (bucketsort). Ak o cislach nevies nic, tak sa nedaju utriediet v lepsom case ako NlongN. Ale ta uloha ma konstastnu casovu zlozitost... Aspon ja by som ju s takou zlozitostou spravil
_________________ Učet je neaktívny. |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
konkrétne na toto zadanie naozaj ani to pole netreba
akurát len rozmýšľam...Nibbler, čo je to za školu prosím ťa, že vás učia zápis
Kód: (!x % 2 == 0)
?? toto by ma teda nenapadlo napísať asi ani vo sne. Pochybujem, že si tým myslel to, čo si v skutočnosti napísal...
_________________ C#, PHP, ... |
|
Registrovaný: 30.10.08 Prihlásený: 25.04.11 Príspevky: 154 Témy: 13 | 13 |
to nas na skole neucia - moj vymysel . S tym zapisom som myslel "ak nie je zvysok po deleni dvojkou 0" a som presvedceny ze je to zle Mi v jave vadi, ze == nemozem negovat ako !== ale musim tam pouzit ><. U javy mi je stale cudzie ze ako "databaza" tu funguje RAMka a netusim ako to z nej potom dostat. Myslim ze v php by som to spravil lahsie. Mam na to este par dni tak sa budem zatial hrat dalej.
btw: ide o "bonusovu" ulohu za 1bod navyse. Nejde mi o ten bod ale aby som to vedel vyriesit.
|
|
Registrovaný: 02.07.06 Prihlásený: 19.12.24 Príspevky: 14266 Témy: 315 | 315 Bydlisko: Bratislava |
mozno si to myslel takto
Kód: x % 2 != 0
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
nibler , najprv dostuduj zaklady napr aritmeticke operatory http://download.oracle.com/javase/tutor ... ators.html
a nikde v zadani nevidim ulohu ze tie nacitane hodnoty si mas aj ukladat , na vystup mas dat pocty a sucty hodnot ktore sa daju robit hned pri ich vkladani. a fakt o triedeni v ulohe nieje ani zmienka. triedne = class (metody a premenne static), instancne = "obj = new classxxx,(metody a premenne precujuce s instanciou triedy)" takze ziadne triedEnIe !
|
|
Registrovaný: 02.07.06 Prihlásený: 19.12.24 Príspevky: 14266 Témy: 315 | 315 Bydlisko: Bratislava |
hosi, vopred sa ospravedlnujem. Chyba tam konstruktor a celkovo je to asi postavene dost na hlavu. Nemam to sice na ulohu, ale kedze chodim na tu istu skolu, asi ma to caka, chcel som aspon skusit logiku toho programu, ja to po ranajkach spravim. skusil som to nejak takto:
Kód: package pocet_prvkov;
import java.util.*;
public class Main {
public static void main(String[] args) { ParneNeparne cisla = new ParneNeparne(); cisla.pocetPrvkov();
System.out.println("Pocet parnych cisel je "+cisla.p()); System.out.println("Pocet neparnych cisel je "+cisla.np()); System.out.println("Sucet parnych cisel je "+cisla.sucetParnych()); System.out.println("Sucet neparnych cisel je "+cisla.sucetNeparnych()); } }
class ParneNeparne { Scanner vstup = new Scanner(System.in); private int p = 0; private int np = 0; private int sucetParnych = 0; private int sucetNeparnych = 0;
public int p() {return p;} public int np() {return np;} public int sucetParnych() {return sucetParnych;} public int sucetNeparnych() {return sucetNeparnych;}
public void pocetPrvkov() { int i = 0; boolean podmienka = true; while (podmienka) {
System.out.println("Zadaj cislo"); i = vstup.nextInt();
if(i % 2 == 0) { p++; sucetParnych += i;
} else if (i < 0) {podmienka = false;}
else { np++; sucetNeparnych += i; } }
}
}
Ze tam netreba pole som si uvedomil trosku neskor, takze sa to podarilo bez. Co ale neviem, je prepisanie tej triedy tak aby tam tych globalnych premennych bolo co najmenej, podla moznosti vobec. Lenze ja netusim ako a ci vobec je mozne aby funkcia vratila viac hodnot.
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
no ved si tie globalne prepis na privatne a vypis rob cez overriding funkcie toString() ktora ti vrati formatovany text ktory vypises na consolu. apropo metodu main() si mohol dat priamo do tvojej triedy ParneNeparne . premenna "podmienka" je nepotrebna, java dokaze naplnit premennu a nasledne ju otestovat v jednom kroku Kód: System.out.println("Zadaj cislo"); while ( (i = vstup.nextInt())>0) { if(i % 2 == 0) { p++; sucetParnych += i; } else { np++; sucetNeparnych += i; } System.out.println("Zadaj cislo"); }
|
|
Registrovaný: 02.12.06 Prihlásený: 22.12.24 Príspevky: 690 Témy: 35 | 35 Bydlisko: Rimavská So... |
a keby si spravil jednu metódu v triede ParneNeparne ktorá vráti štvorprvkové pole?nultý index bude napr. počet párnych prvý počet nepárnych druhý súčet párnych a tretí súčet nepárnych
_________________ Math is the best! |
|
Registrovaný: 02.07.06 Prihlásený: 19.12.24 Príspevky: 14266 Témy: 315 | 315 Bydlisko: Bratislava |
jasne chapem, mna to pred chvilou napadlo, teda ze by metoda mohla vracat 4- prvkove pole ktore bude obsahovat vsetky vysledky. tym by som mohol mat vsetky premenne lokalne priamo v metode. Len som neskusal ci dokaze metoda vratit pole a tiez ma zaujimalo ako sa to naozaj ma robit ... Teda ci pole je to riesenie alebo nie. Ale dik, vyskusam to ...
_________________ PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA! |
|
Registrovaný: 30.10.08 Prihlásený: 25.04.11 Príspevky: 154 Témy: 13 | 13 |
coldak píše: nibler , najprv dostuduj zaklady napr aritmeticke operatory http://download.oracle.com/javase/tutor ... ators.htmla nikde v zadani nevidim ulohu ze tie nacitane hodnoty si mas aj ukladat , na vystup mas dat pocty a sucty hodnot ktore sa daju robit hned pri ich vkladani. a fakt o triedeni v ulohe nieje ani zmienka. triedne = class (metody a premenne static), instancne = "obj = new classxxx,(metody a premenne precujuce s instanciou triedy)" takze ziadne triedEnIe ! typicky logicky informatik mysliaci ako pc Niektore slova maju vyznam aj v realnom zivote - triedenie != class, triedenie = roztriedenie. V tomto pripade na parne a neparne cisla a potom sa tym hrat (alebo napr. ako popoluska triedila hrach a fazulu ci co to )
inak, diki za material. Myslim ze uz aj viem ako na to, po obede sa s tym budem hrat
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
no ked uz hovorime o mysleni ako PC , tak to by miesto pocitania modulo (i % 2 == 0) pouzil bitovu operaciu (i&2==0) nakolko v dvojkovej sustave rozdiel medzi parnym a neparnym cislom je logicka 1 na prvom bite .
|
|
Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 26 | 1042 | 28.03.2017 21:15 BX | | v Delphi, Visual Basic | 2 | 705 | 01.03.2010 21:11 vama | | v Assembler, C, C++, Pascal, Java | 1 | 603 | 22.02.2011 15:13 Fico | | v Delphi, Visual Basic | 3 | 894 | 10.03.2011 20:37 vama | | v PHP, ASP | 2 | 652 | 31.08.2009 10:42 László145 | | v Ostatné programy | 0 | 810 | 12.08.2008 19:13 MANIAC | | v PHP, ASP | 17 | 1288 | 22.02.2009 16:58 stenley | | v PC zostavy | 19 | 1445 | 25.12.2009 0:04 Matias555 | | v PHP, ASP | 2 | 7900 | 08.07.2008 13:25 Broko71 | | v Assembler, C, C++, Pascal, Java | 6 | 1650 | 05.03.2009 2:36 TrSek | | v Ostatné programy | 1 | 516 | 04.06.2014 7:47 mirom | | v PHP, ASP | 6 | 564 | 10.12.2010 10:50 psm | | v JavaScript, VBScript, Ajax | 1 | 604 | 23.03.2009 21:18 myxall | | v Assembler, C, C++, Pascal, Java | 1 | 905 | 02.04.2014 12:41 XOLOO | | [ Choď na stránku: 1, 2 ] v Assembler, C, C++, Pascal, Java | 35 | 5560 | 09.03.2009 17:14 tlacitko Enter | | v PHP, ASP | 12 | 582 | 29.05.2012 9:43 Ďuri |
|