Hilfe bei programm

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hilfe bei programm

    Hallo,
    da ich morgen einen test habe und mich bei einem kleinen Progi nicht auskenne, bitte ich euch um hilfe.

    Das Programm:

    Quellcode

    1. import jeliot.io.*;
    2. public class Ziffernueberpruefung
    3. {
    4. public static void main()
    5. {
    6. char[] wort = new char[4];
    7. boolean nurZiffern = false;
    8. wort = eingeben(wort);
    9. nurZiffern = pruefen(wort);
    10. if (nurZiffern)
    11. {
    12. Output.println("Diese Zeichenfolge besteht nur aus Ziffern");
    13. }
    14. else
    15. {
    16. Output.println("Diese Zeichenfolge besteht !nicht! nur aus Ziffern!");
    17. }
    18. }
    19. public static char [] eingeben (char [] wort)
    20. {
    21. Output.println("Gib die gewuenschte Zeichenfolge ein: ");
    22. for (int j = 0; j < wort.length; j++)
    23. {
    24. wort[j] = Input.readChar();
    25. }
    26. return wort;
    27. }
    28. public static boolean pruefen(char [] wort)
    29. {
    30. int i = 0;
    31. while (i < wort.length && '0' <= wort[i] && wort[i] <= '9')
    32. {
    33. i++;
    34. }
    35. if (i == wort.length)
    36. return true;
    37. else
    38. return false;
    39. }
    40. }
    Alles anzeigen


    Und nun meine Fragen:confused: :

    Wiso muss man
    " wort = eingeben(wort);"
    eingeben um nach
    "public static char [] eingeben (char [] wort)"
    zugelangen, bitte eine generelle Erklärung wie dieses Weierleiten klappt, wäre wichtig, da ich morgen einen Test habe.



    Quellcode

    1. for (int j = 0; j < wort.length; j++)
    2. {
    3. wort[j] = Input.readChar();

    warum nimmt man [j] und nicht ?



    Mit besten Dank im Vorraus
    Googler92 :)
  • Als erstes mal vorweg:
    Wenn du Code postest, nimm immer das PHP Tag, damit bleibt die Formatierung erhalten -> leichter lesbar für andere.

    Die Fragen sind schnell geklärt:
    Wie genau diese "Weiterleitung" klappt, willst du imho nicht wissen, bzw. das muss man nicht wissen. Könnt ich dir zwar erklären, aber das ginge jetzt schon etwas tiefer in die Materie.
    Aber zurück zum Thema, was ist das?
    Das ist ein Funktionsaufruf einer definierten Funktion.
    Das ist die Funkion:
    public static char [] eingeben (char [] wort)
    {
    Output.println("Gib die gewuenschte Zeichenfolge ein: ");
    for (int j = 0; j < wort.length; j++)
    {
    wort[j] = Input.readChar();
    }
    return wort;
    }

    das der Aufruf:
    eingeben(wort);

    Durch den Aufruf wird automatisch in die Funktion gesprungen und an der Stelle weitergemacht. Der Aufruf geschiet immer durch die Angabe des Funktionsnamen, hier: eingeben. gefolgt von den Übergabewerten, hier: wort.
    Gibt es keine, bleibt dir Klammer leer.
    Empfehlung:
    Galileo Computing :: Java ist auch eine Insel – 2.7 Methoden einer Klasse


    zur zweiten Frage:
    ob j oder i ist völlig egal.
    könnte auch a, oder xzy sein.
    Es hat sich aber eingebürgert bei Schleifen i zu nehmen und falls das schon verbraucht wurde, als nächstes j und dann k & l zu nehmen.
    Hier wurde allerdings i nicht "verbraucht" als hätte man das auch nehmen können. Nur wie gesagt das ist total egal. da kannst du alles nehmen :)
    Ist nur ein Variablenname.
  • Hatte heute den test und lief gans gut:)

    @stelzi Danke für die Erklärung, musste den test zwar vorher schon machen, werde es früher oder später (beim nächsten Test) wieder brauchen. ***** für deine Hilfe:D

    MfG
    Googler92