Can not use modPow() on int? (Java)











up vote
-2
down vote

favorite












My Code:



public static void verschluesseln(int m) {
if(m < n) {
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
}


Error:



.java:51: error: int cannot be dereferenced
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
^


This did run in another project of mine. This is why I am heavily confused by this error.










share|improve this question


















  • 3




    No, it didn't. You may not call methods on primitive types. modPow() is a method of the BigInteger class. You needs an instance of BigInteger to call it. docs.oracle.com/javase/8/docs/api/java/math/…
    – JB Nizet
    Nov 11 at 12:31








  • 1




    int is a primitive and no primitive has a method in Java. You might have been thinking of another language e.g. C# has this.
    – Peter Lawrey
    Nov 11 at 12:37










  • Or, perhaps you wrote your own modPow method just for ints in your other program.
    – James K Polk
    Nov 11 at 22:13










  • @JamesKPolk You would still not be able to call it on an int as in the displayed code.
    – Maarten Bodewes
    Nov 13 at 4:00















up vote
-2
down vote

favorite












My Code:



public static void verschluesseln(int m) {
if(m < n) {
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
}


Error:



.java:51: error: int cannot be dereferenced
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
^


This did run in another project of mine. This is why I am heavily confused by this error.










share|improve this question


















  • 3




    No, it didn't. You may not call methods on primitive types. modPow() is a method of the BigInteger class. You needs an instance of BigInteger to call it. docs.oracle.com/javase/8/docs/api/java/math/…
    – JB Nizet
    Nov 11 at 12:31








  • 1




    int is a primitive and no primitive has a method in Java. You might have been thinking of another language e.g. C# has this.
    – Peter Lawrey
    Nov 11 at 12:37










  • Or, perhaps you wrote your own modPow method just for ints in your other program.
    – James K Polk
    Nov 11 at 22:13










  • @JamesKPolk You would still not be able to call it on an int as in the displayed code.
    – Maarten Bodewes
    Nov 13 at 4:00













up vote
-2
down vote

favorite









up vote
-2
down vote

favorite











My Code:



public static void verschluesseln(int m) {
if(m < n) {
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
}


Error:



.java:51: error: int cannot be dereferenced
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
^


This did run in another project of mine. This is why I am heavily confused by this error.










share|improve this question













My Code:



public static void verschluesseln(int m) {
if(m < n) {
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
}


Error:



.java:51: error: int cannot be dereferenced
int c = m.modPow((int) n, oeffentlicherSchluessel[0]);
^


This did run in another project of mine. This is why I am heavily confused by this error.







java math cryptography mod






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 11 at 12:30









ilukasschneider

171




171








  • 3




    No, it didn't. You may not call methods on primitive types. modPow() is a method of the BigInteger class. You needs an instance of BigInteger to call it. docs.oracle.com/javase/8/docs/api/java/math/…
    – JB Nizet
    Nov 11 at 12:31








  • 1




    int is a primitive and no primitive has a method in Java. You might have been thinking of another language e.g. C# has this.
    – Peter Lawrey
    Nov 11 at 12:37










  • Or, perhaps you wrote your own modPow method just for ints in your other program.
    – James K Polk
    Nov 11 at 22:13










  • @JamesKPolk You would still not be able to call it on an int as in the displayed code.
    – Maarten Bodewes
    Nov 13 at 4:00














  • 3




    No, it didn't. You may not call methods on primitive types. modPow() is a method of the BigInteger class. You needs an instance of BigInteger to call it. docs.oracle.com/javase/8/docs/api/java/math/…
    – JB Nizet
    Nov 11 at 12:31








  • 1




    int is a primitive and no primitive has a method in Java. You might have been thinking of another language e.g. C# has this.
    – Peter Lawrey
    Nov 11 at 12:37










  • Or, perhaps you wrote your own modPow method just for ints in your other program.
    – James K Polk
    Nov 11 at 22:13










  • @JamesKPolk You would still not be able to call it on an int as in the displayed code.
    – Maarten Bodewes
    Nov 13 at 4:00








3




3




No, it didn't. You may not call methods on primitive types. modPow() is a method of the BigInteger class. You needs an instance of BigInteger to call it. docs.oracle.com/javase/8/docs/api/java/math/…
– JB Nizet
Nov 11 at 12:31






No, it didn't. You may not call methods on primitive types. modPow() is a method of the BigInteger class. You needs an instance of BigInteger to call it. docs.oracle.com/javase/8/docs/api/java/math/…
– JB Nizet
Nov 11 at 12:31






1




1




int is a primitive and no primitive has a method in Java. You might have been thinking of another language e.g. C# has this.
– Peter Lawrey
Nov 11 at 12:37




int is a primitive and no primitive has a method in Java. You might have been thinking of another language e.g. C# has this.
– Peter Lawrey
Nov 11 at 12:37












Or, perhaps you wrote your own modPow method just for ints in your other program.
– James K Polk
Nov 11 at 22:13




Or, perhaps you wrote your own modPow method just for ints in your other program.
– James K Polk
Nov 11 at 22:13












@JamesKPolk You would still not be able to call it on an int as in the displayed code.
– Maarten Bodewes
Nov 13 at 4:00




@JamesKPolk You would still not be able to call it on an int as in the displayed code.
– Maarten Bodewes
Nov 13 at 4:00












1 Answer
1






active

oldest

votes

















up vote
1
down vote













modPow is BigInteger method, you can't use it with int. It also receives BigInteger as parameters, not int



BigInteger c = BigInteger.valueOf(m).modPow(BigInteger.valueOf(n), BigInteger.valueOf(oeffentlicherSchluessel[0]));





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248775%2fcan-not-use-modpow-on-int-java%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote













    modPow is BigInteger method, you can't use it with int. It also receives BigInteger as parameters, not int



    BigInteger c = BigInteger.valueOf(m).modPow(BigInteger.valueOf(n), BigInteger.valueOf(oeffentlicherSchluessel[0]));





    share|improve this answer



























      up vote
      1
      down vote













      modPow is BigInteger method, you can't use it with int. It also receives BigInteger as parameters, not int



      BigInteger c = BigInteger.valueOf(m).modPow(BigInteger.valueOf(n), BigInteger.valueOf(oeffentlicherSchluessel[0]));





      share|improve this answer

























        up vote
        1
        down vote










        up vote
        1
        down vote









        modPow is BigInteger method, you can't use it with int. It also receives BigInteger as parameters, not int



        BigInteger c = BigInteger.valueOf(m).modPow(BigInteger.valueOf(n), BigInteger.valueOf(oeffentlicherSchluessel[0]));





        share|improve this answer














        modPow is BigInteger method, you can't use it with int. It also receives BigInteger as parameters, not int



        BigInteger c = BigInteger.valueOf(m).modPow(BigInteger.valueOf(n), BigInteger.valueOf(oeffentlicherSchluessel[0]));






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 11 at 12:49

























        answered Nov 11 at 12:35









        Guy

        18.1k62149




        18.1k62149






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248775%2fcan-not-use-modpow-on-int-java%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Florida Star v. B. J. F.

            Danny Elfman

            Lugert, Oklahoma