[ 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 | 13
NapísalOffline : 23.10.2010 21:55 | JAVA - triedenie cisiel

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ý: 19.12.24
Príspevky: 14266
Témy: 315 | 315
Bydlisko: Bratislava
NapísalOffline : 23.10.2010 22:52 | JAVA - triedenie cisiel

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 | 13
NapísalOffline : 24.10.2010 0:31 | JAVA - triedenie cisiel

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 | 66
Bydlisko: Žilina
NapísalOffline : 24.10.2010 0:51 | JAVA - triedenie cisiel

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 | 13
Napísal autor témyOffline : 24.10.2010 7:30 | JAVA - triedenie cisiel

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ý: 19.12.24
Príspevky: 14266
Témy: 315 | 315
Bydlisko: Bratislava
NapísalOffline : 24.10.2010 7:34 | JAVA - triedenie cisiel

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 | 2
NapísalOffline : 24.10.2010 8:00 | JAVA - triedenie cisiel

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ý: 19.12.24
Príspevky: 14266
Témy: 315 | 315
Bydlisko: Bratislava
NapísalOffline : 24.10.2010 8:39 | JAVA - triedenie cisiel

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 | 2
NapísalOffline : 24.10.2010 9:03 | JAVA - triedenie cisiel

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ý: 22.12.24
Príspevky: 690
Témy: 35 | 35
Bydlisko: Rimavská So...
NapísalOffline : 24.10.2010 9:06 | JAVA - triedenie cisiel

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ý: 19.12.24
Príspevky: 14266
Témy: 315 | 315
Bydlisko: Bratislava
NapísalOffline : 24.10.2010 9:10 | JAVA - triedenie cisiel

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 | 13
Napísal autor témyOffline : 24.10.2010 9:11 | JAVA - triedenie cisiel

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 | 2
NapísalOffline : 24.10.2010 13:00 | JAVA - triedenie cisiel

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 .


 [ Príspevkov: 13 ] 


JAVA - triedenie cisiel



Podobné témy

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

Usporiadanie čísiel

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

26

1042

28.03.2017 21:15

BX

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

prevod cisiel

v Delphi, Visual Basic

2

705

01.03.2010 21:11

vama

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

prevod cisiel

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

1

603

22.02.2011 15:13

Fico

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

Porovnanie reálnych čísiel

v Delphi, Visual Basic

3

894

10.03.2011 20:37

vama

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

porovnanie dvoch cisiel navzajom

v PHP, ASP

2

652

31.08.2009 10:42

László145

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

Porovnávanie a usporiadanie čísiel

v Ostatné programy

0

810

12.08.2008 19:13

MANIAC

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

[VYRIESENE] Generator nahodnych cisiel

v PHP, ASP

17

1288

22.02.2009 16:58

stenley

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

PC na chrumanie cisiel okolo 1500e

v PC zostavy

19

1445

25.12.2009 0:04

Matias555

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

zaokruhlovanie cisiel na 2 desatinne miesta

v PHP, ASP

2

7900

08.07.2008 13:25

Broko71

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

Pascal - triedenie

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

6

1650

05.03.2009 2:36

TrSek

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

Triedenie pesničiek

v Ostatné programy

1

516

04.06.2014 7:47

mirom

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

Rozsirene triedenie

v PHP, ASP

6

564

10.12.2010 10:50

psm

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

Triedenie čísliel

v JavaScript, VBScript, Ajax

1

604

23.03.2009 21:18

myxall

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

905

02.04.2014 12:41

XOLOO

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

5560

09.03.2009 17:14

tlacitko Enter

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

Triedenie podľa textu

v PHP, ASP

12

582

29.05.2012 9:43

Ďuri



© 2005 - 2024 PCforum, edited by JanoF