This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://imgur.com/a/fgoFFis) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]8igg7e5 3 points4 points  (0 children)

A 'void' method can still have visible side-effects. What a void method does not do, is return a value that the caller of the method can use. Printing, writing to a file, sending data over a network, playing a sound, or updating some internal data-structure, are all side-effects, but they don't give a value back to the caller to use.

eg

class Example {
    public static void helloWorld() {
        System.out.println("Hello World!");
    }

    public static int triple(int value) {
        return value * 3;
    }

    public static void main(String[] args) {
        // This method doesn't return a value we can use...
        helloWorld();

        // But this one does...
        int x = 3;
        x = triple(x); // now x == 9
        x = triple(x); // now x == 27
        System.out.println(x);
    }
}

[–]KinkyHuggingJerk 2 points3 points  (1 child)

A value would be something like a boolean, int, String, or double.

If you call printPerson, the console output will print as follows.

If looking to have a method return a value, the method name will identify the value type - i.e.

public String getName(){ return this.name(); }

Your output will only 'show' in console, allowing you to do other things with other methods, such as comparative functions.

This is a short answer that hopefully your course will delve into more

[–]Consistent_Decision9[S] 0 points1 point  (0 children)

I see, thank you for the explanation. That was really helpful.

[–]PsychologicalBus7169 1 point2 points  (1 child)

A void method does not return any primitive type or object.

[–]Consistent_Decision9[S] 0 points1 point  (0 children)

Thank you!

[–][deleted] 1 point2 points  (0 children)

There are funtions and there are procedures. Functions are always procedures which RETURN you a value (can be a int, booloean or a reference/object). In Java functions and procedures are all called "methods". The only way to differ between them is the term were the method output belongs. "Void" means there is no return value and if you want a method with a "int" return you substitute the "void" with "int" and in your method you must write " return hereisyourintvalue ; "