Project

Desktop Calculator

Hard
150 completions
~ 32 hours
4.1

Learn how to work with various components in Swing. Find out how to style and position them, explore the math library, master loops, and manipulate strings efficiently.

Provided by

JetBrains Academy JetBrains Academy

About

We do calculations daily. You may need to know how much change you'll have after purchase or how many points your team needs to win the cup. A calculator can do the heavy lifting for us. Have you ever wonder how a calculator works? In this project, you'll create a full-fledged calculator from scratch that can be run on your computer.

Graduate project icon

Graduate project

This project covers the core topics of the Java Desktop Application Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Create a basic Swing window that adds two numbers together and displays the result in a text field.
Work on the basic window and add buttons for numbers and four basic mathematical operations.
Take into account the order of mathematical operators and add complex expressions and decimals.
Handle errors that may arise during execution, validate equations and provide visual feedback to users.
Enhance your calculator to support advanced mathematical operations.

Reviews

Eser Tuna Erten avatar
Eser Tuna Erten
7 months ago
I've learned: Swing UI elements and how to place them, how to define action listeners, inheritance (how to use classes and extending sub classes) and more importantly, algorithms to convert expression from one form to another for evaluation. The project is challenging but is instructive as it includ ...
Vladimir Davidov avatar
Vladimir Davidov
1 year ago
The most difficult project I worked so far. Very few Swing but a lot of math.Well it was very comlicated, a huge number of requirements that were not always clear. The tests output is ridiculously non explicit. I recommend to complete it in one streak or very close sessions because it will take you ...
Sergio Serrano Hinojosa
1 year ago
I learn to split common code into methods and use static final variables

4.1

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.5
Fun
4.2
Clarity
3.6