2 fragen
Results 1 to 21 of 21

Thread: 2 fragen

  1. #1

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts

    2 fragen

    charAt gilt f. byte short int und long oder?
    zb. charAt(i)
    i könnte byte , int, short; oder float sein? oder noch was anderes ?

    und gilt return nur f. methoden oder kann man es auch nach if bedingungen verwenden zb
    if(plaplapla)
    { return plaplapla;
    }

  2. #2
    nix_is's Avatar
    Title
    Master
    Join Date
    Feb 2002
    Location
    Vienna
    Posts
    157
    Thanks
    0
    Thanked 0 Times in 0 Posts
    return beendet gleichzeitig die ganze methode und gibt einen wert zurück - funkt also nicht in schleifen, außer du willst wirklich die methode beenden...
    Give a man a fish and he'll eat it for the day.
    Teach him how to fish and he will eat for the rest of his life...

  3. #3

    Title
    Elite
    Join Date
    Dec 2001
    Posts
    340
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: 2 fragen

    Original geschrieben von girl
    charAt gilt f. byte short int und long oder?
    zb. charAt(i)
    i könnte byte , int, short; oder float sein? oder noch was anderes ?
    i muss vom Typ int sein. Zurückgegeben wird char. Hast du i als einen anderen Typ, zB short, schreibst du charAt( (int) i), möchtetst du einen anderen Typ als char zurück geht das so: int foo = (int) answer.charAt(42);
    I invented ctrl-alt-del but Bill [Gates] made it famous
    Dave Bradly, IBM PC designer

  4. #4
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    4,001
    Thanks
    347
    Thanked 504 Times in 266 Posts
    somit kann i nicht float sein!
    denn charAt(i) gibt das Zeichen an der Stelle i zurück.
    float ist eine Komma-Zahl.
    Wenn du ein Wort hast zb ABCDEFG und möchtest, den Buchstaben an der Stelle i herausfinden, kannst du keine Kommazahl nehmen. Du kannst ja nicht den Buchstaben an der Stelle 2,4 auslesen... weißt du aber sicher eh...
    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.»


    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  5. #5

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ja, ich hab mich oben verschrieben, wollte eigtl. long statt float schreiben

  6. #6

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    und stimmt das return in dem fall-> siehe attachment
    2.bsp
    ps @wingsofglorry das is übrigends das adobe file wo sich nix rauskopieren lässt weils gescannt ist..
    wie könnt ich das übergehen?

  7. #7

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    attachment :
    der dreck lässt sich obwohl eingezipt nicht hochladen, da 1,75 mb
    Last edited by girl; 15-05-2002 at 01:44.

  8. #8
    nix_is's Avatar
    Title
    Master
    Join Date
    Feb 2002
    Location
    Vienna
    Posts
    157
    Thanks
    0
    Thanked 0 Times in 0 Posts
    quellcode von 1.75mb? und du willst dass wir sagen ob das stimmt?? hehehehhehehehe
    poste nur den aussschnitt bitte
    Give a man a fish and he'll eat it for the day.
    Teach him how to fish and he will eat for the rest of his life...

  9. #9

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    zwischenfrage
    washats denn mit dem >> << etc auf sich
    bitweiser linksund rechts shift steht im buch,
    kann man das wer vielleicht besser erklären

  10. #10
    RupertK's Avatar
    Title
    Master
    Join Date
    May 2002
    Posts
    165
    Thanks
    0
    Thanked 0 Times in 0 Posts

    shift left und shift right

    die beiden operatoren << und >>
    verschieben die bits in einer variable um eine
    bestimmte anzahl nach links bzw. rechts
    ein shift left um eine stelle entspricht einer
    mulitplikation um 2.
    vorsicht: durch shift left und shift right
    können bits verloren gehen

    bsp:
    int i=2;

    i<<1;

    //i hat den wert 4


    i=1<<3; // binär 00001000

  11. #11

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ich verstehs leida noch imma nicht ganz, wie man da genau verschiebt und welche zahlen dann herauskommen....
    geht das nur f. zahlen?

  12. #12
    DoomedOne
    eigendlich íst das verschieben ganz leicht:
    im binärsys, also auf maschinen ebene werden die bits um x stellen verschoben.
    zB: (0100)2 = (4)10 wenn du dann 1x nach links schiebst kommt
    (1000)2 = (8)10 heraus. wie du siehst entspricht 1 verschiebung eine multiplikation mit 2 im 10er system.

    Bei einem right shift wird das ganze umgekehrt, also /2
    oder beim obrigen bsp: (0010)2 = (2)10.

    Das ganze geht nur mit zahlen (auch mit chars), strings selber kann man nicht verschieben, höchstens den pointer und das würd nicht viel bringen

  13. #13

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    was bringt das überhaupt ich kann ja gleich schreiben
    x=2
    und dann x=4 wenn ich die zahl änder will...
    ausserdem müsst ich doch immer im asci code nachschauen..
    und das bsp mit den klammern , welcher wert steht in den klammern (0100)2 = (4)10 0100 ist asci code oder?
    und der rest is mir ganz unklar

  14. #14
    DoomedOne
    Sry hab nicht geschrieben was genau die klammern bedeuten, weil ich angenommen hab das das offensichtlich ist.
    Also wenn (x)2 steht heißt das folgendes: x ist im 2er (Binär) Zahlensystem angegeben.
    wenn (x)10 im "normalen", bei (x)16 im hexadezimalen...
    mit ASCII codes hat das nichts tu tun. Wollte damit nur sagen das es auch möglich ist ein char als Zahl zu interpretieren. Also kannst du mit shifts auch hashcodes und sonstiges Zeugs berechnen.

    was bringt das überhaupt ich kann ja gleich schreiben ...
    sicher kannst du das auch auf andere arten machen, das ist ja das gute an den programmiersprachen das man 1 prob mit verschiedenen mitteln lösen kann.
    Der einzige Vorteil von shifts ist das es sehr schnell geht. Sicher kannst du auch statt x links shifts *2^x rechnen, nur ist das sicher langsamer (Zumindest bei systemnahen Programmiersprachen).
    Und was genau ist denn noch unklar, wie die shifts funktionieren sollte doch jetzt nachvollziehbar sein.

  15. #15

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    und was entspricht einer verschiebung um 2, also womit wird dann die zahl multipliziert? bzw um 3 etc
    und wie genau verschieb ich da : 0100=1000 ?
    wenn ich 1 nach links schiebe würd doch der 0 wegfallen und 100 rauskommen,
    und woher weiss man was eine 10 zahl im 2 sys ist,
    ich nehm an das schaut man nach..
    und was heisst das <<< ?

  16. #16
    DoomedOne
    und was entspricht einer verschiebung um 2, also womit wird dann die zahl multipliziert?
    hm da kann ich mich sogar selber quoten:

    Sicher kannst du auch statt x links shifts *2^x rechnen
    setz für x 2 oder 3 ein dann weißt du die lösung (*4, *8), bei rechtsshifts /2^x

    bei computern gibt es immer eine begrenzte anzahl von stellen und die bleibt immer gleich groß.
    Nehmen wir mal an es stehen 4 stellen zur verfügung.
    Das sieht dann so aus
    LSB (least significant bit, Einerstelle in normaler Schreibweise)
    1
    0
    1
    0
    MSB (most significant bit, 1.Stelle normalerweise)
    für 5
    wollen wir eine links verschiebung machen passiert das so:

    eine 0 soll als LSB verwendet werden und schiebt die 1 eine stelle weiter zum MSB, der 1er verschiebt die nächste stelle usw...
    0
    LSB
    1
    0
    1
    0
    MSB
    dann kommt das heraus:
    LSB
    0
    1
    0
    1
    MSB
    (0) Diese 0 ist ausserhalb von unseren 4 stellen also fällt sie weg.
    ergebnis: 10 oder im 2er sys
    LSB
    0
    1
    0
    1
    MSB

    ich hoffe jetzt ist es klar.
    Natürlich gibts noch andere Variationen von diesem shift aber die lassen wir besser

    und woher weiss man was eine 10 zahl im 2 sys ist
    da gibts formeln zum umrechnen, lernt man in Grundzüge der Informatik, der 1.Test war fast nur umrechen arbeit.
    und was heisst das <<<
    das geht bei mir gar net, wollt das im java eingeben aber das mag er nicht, sry

  17. #17

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    was is das ^ ?
    ich finds nur als xor ..
    aber das wirds wohl kaum sein in dem fall..

  18. #18
    DoomedOne
    hm wie lang hast du dir das überlegt?
    ist doch nicht so schwer draufzukommen.
    2^2=4
    2^3=8
    also was kann das ^ bedeuten
    und wenn du 2x verschiebst heißt das ja nix anderes als:
    zahl*2 = ergebnis ergebnis = ergebnis * 2 daraus folgt ergebnis = zahl *2*2 = zahl * 2 ^2 = zahl * 2 hoch 2
    ist doch wirklich nicht schwer nachzuvollziehen oder?

    aber wennst du den rest verstanden hast bin ich schon zufrieden, is ne leistung bei meinem gebrabbel, gebs ja zu

  19. #19

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    und bei 5 rechtshift
    das wär ja 0101 = 0010 und 0010 =ja 2 und nicht 2,5 ?

  20. #20
    DoomedOne
    stimmt aber du kannst ja auch nicht in ein feld mit 4 zahlen was größeres als 15 haben, und 2^5 = 32
    und 32 modulo 15 = 2 also passts

  21. #21

    Title
    Master
    Join Date
    Apr 2002
    Posts
    146
    Thanks
    0
    Thanked 0 Times in 0 Posts
    und wenn im prog steht i=5; i>>1; ist i dann 2,5 (weil laut formel wärs ja 2,5) oder 2(laut binärzahlen)
    scheinbar kann man sich auf die formel umrechnungsmäßig nciht ganz verlassen
    Last edited by girl; 18-05-2002 at 01:43.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •