Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 13 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
JAVA - triedenie cisiel

Registrovaný: 30.10.08
Prihlásený: 25.04.11
Príspevky: 154
Témy: 13
Príspevok NapísalOffline : 23.10.2010 21:55

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. :-)


Offline

Skúsený užívateľ
Skúsený užívateľ
JAVA - triedenie cisiel

Registrovaný: 02.07.06
Prihlásený: 15.04.24
Príspevky: 14182
Témy: 312
Bydlisko: Bratislava
Príspevok NapísalOffline : 23.10.2010 22:52

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 :D







_________________
PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA!
Offline

Užívateľ
Užívateľ
JAVA - triedenie cisiel

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13
Príspevok NapísalOffline : 24.10.2010 0:31

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.
Offline

Skúsený užívateľ
Skúsený užívateľ
JAVA - triedenie cisiel

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 24.10.2010 0:51

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, ...
Offline

Užívateľ
Užívateľ
JAVA - triedenie cisiel

Registrovaný: 30.10.08
Prihlásený: 25.04.11
Príspevky: 154
Témy: 13
Príspevok Napísal autor témyOffline : 24.10.2010 7:30

to nas na skole neucia - moj vymysel :D. S tym zapisom som myslel "ak nie je zvysok po deleni dvojkou 0" a som presvedceny ze je to zle :rolleyes: 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.


Offline

Skúsený užívateľ
Skúsený užívateľ
JAVA - triedenie cisiel

Registrovaný: 02.07.06
Prihlásený: 15.04.24
Príspevky: 14182
Témy: 312
Bydlisko: Bratislava
Príspevok NapísalOffline : 24.10.2010 7:34

mozno si to myslel takto
Kód:
 x % 2 != 0







_________________
PODPIS BOL UPRAVENÝ / ZMAZANÝ Z DÔVODU PORUŠOVANIA PRAVIDIEL FÓRA!
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 24.10.2010 8:00

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 !


Offline

Skúsený užívateľ
Skúsený užívateľ
JAVA - triedenie cisiel

Registrovaný: 02.07.06
Prihlásený: 15.04.24
Príspevky: 14182
Témy: 312
Bydlisko: Bratislava
Príspevok NapísalOffline : 24.10.2010 8:39

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!
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 24.10.2010 9:03

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");
          }


Offline

Užívateľ
Užívateľ
JAVA - triedenie cisiel

Registrovaný: 02.12.06
Prihlásený: 11.04.24
Príspevky: 690
Témy: 35
Bydlisko: Rimavská So...
Príspevok NapísalOffline : 24.10.2010 9:06

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!
Offline

Skúsený užívateľ
Skúsený užívateľ
JAVA - triedenie cisiel

Registrovaný: 02.07.06
Prihlásený: 15.04.24
Príspevky: 14182
Témy: 312
Bydlisko: Bratislava
Príspevok NapísalOffline : 24.10.2010 9:10

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!
Offline

Užívateľ
Užívateľ
JAVA - triedenie cisiel

Registrovaný: 30.10.08
Prihlásený: 25.04.11
Príspevky: 154
Témy: 13
Príspevok Napísal autor témyOffline : 24.10.2010 9:11

coldak píše:
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 !
typicky logicky informatik mysliaci ako pc :D 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


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 24.10.2010 13:00

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 .


Odpovedať na tému [ Príspevkov: 13 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. prevod cisiel

v Delphi, Visual Basic

2

676

01.03.2010 21:11

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. prevod cisiel

v Assembler, C, C++, Pascal, Java

1

574

22.02.2011 15:13

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Usporiadanie čísiel

v Assembler, C, C++, Pascal, Java

26

929

28.03.2017 21:15

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie reálnych čísiel

v Delphi, Visual Basic

3

865

10.03.2011 20:37

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnávanie a usporiadanie čísiel

v Ostatné programy

0

774

12.08.2008 19:13

MANIAC Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] Generator nahodnych cisiel

v PHP, ASP

17

1238

22.02.2009 16:58

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. porovnanie dvoch cisiel navzajom

v PHP, ASP

2

614

31.08.2009 10:42

László145 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PC na chrumanie cisiel okolo 1500e

v PC zostavy

19

1388

25.12.2009 0:04

Matias555 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zaokruhlovanie cisiel na 2 desatinne miesta

v PHP, ASP

2

7742

08.07.2008 13:25

Broko71 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Triedenie čísliel

v JavaScript, VBScript, Ajax

1

572

23.03.2009 21:18

myxall Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal - triedenie

v Assembler, C, C++, Pascal, Java

6

1605

05.03.2009 2:36

TrSek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Triedenie pesničiek

v Ostatné programy

1

481

04.06.2014 7:47

mirom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rozsirene triedenie

v PHP, ASP

6

529

10.12.2010 10:50

psm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. dobre java navody a nova tema JAVA

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

35

5423

09.03.2009 17:14

tlacitko Enter Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rozdiel medzi Java Standard a Java EE

v Assembler, C, C++, Pascal, Java

1

837

02.04.2014 12:41

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal - triedenie + vyhladavanie

v Assembler, C, C++, Pascal, Java

0

385

22.11.2012 17:21

Reason166 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra