exercice java

Discussion dans 'Hardware, matos' créé par moko, 20 Octobre 2012.

  1. Offline
    moko Touriste
    Préparez la logique du programme suivant :
    un module plusUn prend en paramètre un entier et il se contente d'ajouter 1 à l'entier reçu en paramètre.
    moko, 20 Octobre 2012
    #1
  2. Offline
    eGm_ Guinea Trump
    mais omg quoi ?

    public int plusUn(int myInt)
    {
    return myInt++;
    }
    eGm_, 20 Octobre 2012
    #2
  3. Offline
    titoum GMZ Crew optc 970.342.646
    et ton try catch exception pour voir si l'user sait ce que c'est qu'un entier?

    FAIL!
    titoum, 20 Octobre 2012
    #3
  4. Offline
    L@rgo_XIII G33K
    Code:
    public int plusUn(int nb){
    return nb+1;
    }
    
    
    L@rgo_XIII, 20 Octobre 2012
    #4
  5. Offline
    k o D Belge !
    Sans erreur de compil:

    public int plusUn(int myInt)
    {
    return myInt++;
    }

    :p

    Mais en effet... je ne vois pas pourquoi tu ouvres un post pour un truc aussi trivial :p
    k o D, 20 Octobre 2012
    #5
  6. Offline
    eGm_ Guinea Trump

    corrigé avant ton post :D
    eGm_, 20 Octobre 2012
    #6
  7. Offline
    titoum GMZ Crew optc 970.342.646
    je vois surtout pas pq vous lui répondez...
    titoum, 20 Octobre 2012
    #7
  8. Offline
    k o D Belge !
    Parce que c'est marrant, on peut commencer à se casser la tête.

    Fais la même chose avec un Integer en paramètre :-D
    k o D, 20 Octobre 2012
    #8
  9. Offline
    h.lecter The Cannibal
    mais parce que l'homme aime les défis.
    h.lecter, 20 Octobre 2012
    #9
  10. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Pas d'erreur de compil dans du pseudo-code ;)

    Et la question, c'est bien "la logique", de la logique, c'est pas lié à un language.
    Jereck, 20 Octobre 2012
    #10
  11. Offline
    k o D Belge !
    Ce n'était pas du pseudo-code mais il a edit :p
    L'intitulé de la discussion c'est "exercice java"
    k o D, 20 Octobre 2012
    #11
  12. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    C'est la formulation de la question qui compte, pas le titre qu'il lui a donné ...
    Jereck, 20 Octobre 2012
    #12
  13. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    (oui, je chicane, mais c'est samedi matin, dans un thread qui ne sert à rien, alors ...)
    Jereck, 20 Octobre 2012
    #13
  14. Offline
    k o D Belge !
    Pas faux :-D
    k o D, 20 Octobre 2012
    #14
  15. Offline
    EINST Elite
    c'est encore mieux d'écrire ++myInt que myInt++ si tu veux une forme compacte car vu que myInt++ est post-increment, il y a de forte chance qu'il te renvoie myInt et non myInt+1.

    ou utiliser la forme de largo myInt+1.


    et si tu veux gérer l'overflow:

    if (myInt>Integer.MAX_VALUE-1){
    throw new RuntimeException("Overflow occured");
    }
    else
    return myInt+1;
    EINST, 20 Octobre 2012
    #15
  16. Offline
    L@rgo_XIII G33K
    Il n' y pas de fortes chances ... c'est le cas.

    La forme que j'ai utilisée n'est pas la plus "jolie" mais vu le niveau du gars, je préférais la jouer simple :-D
    L@rgo_XIII, 20 Octobre 2012
    #16
  17. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Quel intérêt de ce test ?

    a. MyInt ne sera jamais supérieur à MaxValue.
    b. Si MyInt est égal à MaxValue, le "MyInt+1" provoquera déjà de lui-même une exception.

    Et en attendant, pour les (2^32)-1 autre cas, tu flingue les perfs de la fonction à effectuer un test qui au final ne sert à rien ...

    à la limite, si tu veux vraiment prendre la main sur ce cas bien précis, fais un try-catch ...
    Jereck, 20 Octobre 2012
    #17
  18. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Et sinon, si j'avais le choix, je le ferais en C# avec une méthode d'extension

    public class Utilities{
    public static int PlusUn(this int myInt){
    return myInt + 1;
    }
    }

    Histoire de pouvoir faire ça :
    int x = 12345;
    int y = x.PlusUn();

    Ce qui est quand même beaucoup plus joli ...
    Jereck, 20 Octobre 2012
    #18
  19. Offline
    k o D Belge !
    Ah voilà vous voyez qu'il y a moyen de s'amuser sur une bêtise :D
    k o D, 20 Octobre 2012
    #19
  20. Offline
    h.lecter The Cannibal
    Mais plus long.
    h.lecter, 21 Octobre 2012
    #20