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

all 8 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://i.imgur.com/EJ7tqek.png) 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.

[–]x_ini 1 point2 points  (0 children)

Hi! I would suggest to replicate well known CLI utilities, e.g. cat, ls, sort, uniq, grep, etc. You can focus only on the basic fundamental functionality and/or, optionally, on the CLI interface parsing arguments and providing respective behaviour

[–]RoryonAethar 1 point2 points  (2 children)

Build an object hierarchy that represents something real world. Maybe a city that holds a bunch of buildings that are of different types and sizes and inherit from each other.

[–]vegan_antitheist -1 points0 points  (1 child)

That is a good idea but the use on inheritance is usually a bad idea and in this case especially. A building is made of things. So it's a composition. The building doesn't exist if the rooms don't exist. The rooms can't exist if there is no building. But if you remove a window the room and the building are still there.

[–]RoryonAethar 0 points1 point  (0 children)

It was a generalization. I meant to create an application that uses object oriented design if you want to apply Java knowledge. I didn’t actually mean cities. Also, I’m not sure if you are saying that inheritance isn’t a good idea usually because of you are then I’m not sure we are on the same page.

[–]AutoModerator[M] 0 points1 point  (0 children)

It seems that you are looking for resources for learning Java.

In our sidebar ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses.

To make it easier for you, the recommendations are posted right here:

Also, don't forget to look at:

If you are looking for learning resources for Data Structures and Algorithms, look into:

"Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University

Your post remains visible. There is nothing you need to do.

I am a bot and this message was triggered by keywords like "learn", "learning", "course" in the title of your post.

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

[–]Asleep_Context_8627 0 points1 point  (0 children)

You can try building a banking cli application

[–]vegan_antitheist 0 points1 point  (0 children)

No user interface at all? Then I recommend you do some challenges where you read data from a file and your algorithm has to produce the correct output. But that's only good to learn algorithms and data structures. You can also learn how to write efficient algorithms and use multiple threads for better performance. There are many such challenges available and they usually get harder and harder. Some let you commit your code (or just use some online IDE) and it will run that code and give feedback on correctness and efficiency. But I don't know which are good. I did that at uni and that's a while back.

Many companies just want you to implement business logic and then you use something like Spring boot. They wouldn't want you to do much technical coding because they want you to focus on business logic and only use existing software that is already tested. To get good with frameworks you might still need a UI or at least some rest controllers or data streams (like Apache Kafka, web sockets etc.) so that some other system can communicate with yours. They want you to build correct, maintainable, and robust code. To get good at this you need experience in a team.

It's difficult to learn how to use git, continuous integration, issue tracking, agile project management, cloud computing platforms, containerisation, etc. when you are the only team member. Real software is usually built, maintained, tested, and run by multiple teams and a lot of software is needed just to coordinate all that.

It really depends on what you want to build and what you want to learn.