How I Built a Simple Report Card Program in Java

Written by mayankvikash | Published 2022/03/06
Tech Story Tags: java | programming | tutorial | java-programming | software-development | software-engineering | coding | learn-to-code

TLDRJava project: Write a program to take marks of 2 subjects from the user and display the Total, Percentage, Highest Marks, Average, and Remarks. The project was not that tough, so this is how I made it. I learned Java last semester, so I thought I should make a project. I created the file named ‘marks’. I know this file name doesn’t make sense but it’s ok. I defined Scanner Class a variable ‘sc’ to make it easy to get input from users.via the TL;DR App

I learned Java last semester, so I thought I should make a project. I searched on Google for Java projects and I found:

Write a program to take marks of 2 subjects from the user and display the Total, Percentage, Highest Marks, Average, and Remarks.

It was not that tough, so this is how I made it.

First, I imported this library for taking input from users:

import  java.util.Scanner;

Then, I created the file named ‘marks’. I know this file name doesn’t make sense but it’s ok.

Java starting Template:

public  class  marks {
public  static  void  main(String  args[]) { 
    // Code Here
    }
}

Starting with my code, I defined Scanner Class a variable ‘sc’ to make it easy to get input from the user

try (Scanner  sc = new  Scanner(System.in)) {
	// Code Here
}

I put the above variable in ‘try’ because Visual Studio was giving errors.

Next, I displayed in the console what I want from them:

System.out.println("Enter the marks of 2 subjects (out of 100)");

Then, I asked the two inputs from the user

System.out.println("Enter the marks of subject 1:");  
int  sub1 = sc.nextInt();

System.out.println("Enter the marks of subject 2:");
int  sub2 = sc.nextInt();

‘sc’ is the variable name that I declared above and nextInt() is the function for accepting the values in an integer which will be stored in the variable ‘sub1’ and ‘sub2’ respectively.

Okay, here comes the important step, as you know you can’t score more than 100 in a subject, doesn’t matter how brilliant you are. So, I have to make sure that, the user can’t add numbers greater than 100.

This condition makes sure that the entered value is less than or equal to 100.

if (sub1 <= 100 && sub2 <= 100) {
    // This code will be executed if the condition is true
} else{
    // This code will be executed if the condition if false
}

Wow, great! All the measures are taken, users also can’t give any other input except number, if they try, they will get an error.

Now time for the real code:

int  total = sub1 + sub2;
System.out.println("Total = " + total);

This will add the two values and print the Total.

This code will find the percentage, just take the total, divide it by 200 (because there are 2 subjects so total marks will be 200) then, multiply it by 100. Simple.

Note: ‘float’ is used because the answer may be in decimal and it is also multiplied by ‘float’ to covert it into float datatype. How to convert Integer into Float.

float  percent = (float) total / 200 * 100;
System.out.println("Percentage = " + percent);

Then, a simple if-else statement to get the highest number:

if (sub1 > sub2) {
System.out.println("Highest marks scored is " + sub1);
} else {
System.out.println("Highest marks scored is " + sub2);
}

For finding the average, just take the total and divide it by 2:

float  avg = (float) total / 2;
System.out.println("Average is " + avg);

Then, again an if-else to display remarks. If the mark is 50 or less than that, then it will display ‘You need to work hard!’. If the marks are above 80 or equal and less than 90 then it will show ‘Good Marks’, if it is above 90 then it will show ‘Excellent’. Pretty Simple.

if (percent <= 50) {
System.out.println("Remarks: You need to work hard!");
} else  if (percent >= 80 && percent <= 90) {
System.out.println("Remarks: Good Marks :)");
} else  if (percent >= 90) {
System.out.println("Remarks: Excellent");
} else {
System.out.println("Remarks: Good");
}

So, that’s how I made it. It was really fun. By the way, thanks for visiting and reading :)

Source Code:

import  java.util.Scanner;
public  class  marks {

public  static  void  main(String  args[]) {

  

try (Scanner  sc = new  Scanner(System.in)) {

  

System.out.println("Enter the marks of 2 subjects (out of 100)");

  

System.out.println("Enter the marks of subject 1:");

int  sub1 = sc.nextInt();

  

System.out.println("Enter the marks of subject 2:");

int  sub2 = sc.nextInt();

  

if (sub1 <= 100 && sub2 <= 100) {

  

// Total

  

int  total = sub1 + sub2;

System.out.println("Total = " + total);

  

// Percentage

  

float  percent = (float) total / 200 * 100;

System.out.println("Percentage = " + percent);

  

// Highest Marks

  

if (sub1 > sub2) {

System.out.println("Highest marks scored is " + sub1);

} else {

System.out.println("Highest marks scored is " + sub2);

}

  

// Average

  

float  avg = (float) total / 2;

System.out.println("Average is " + avg);

  

// Remarks

if (percent <= 50) {

System.out.println("Remarks: You need to work hard!");

} else  if (percent >= 80 && percent <= 90) {

System.out.println("Remarks: Good Marks :)");

} else  if (percent >= 90) {

System.out.println("Remarks: Excellent");

} else {

System.out.println("Remarks: Good");

}

  

} else {

System.out.println("Values are Greator!");

}

  

}

  

}

  

}

Wow great! I can make it but it looks a little bit easy, let’s add some complex things. Feel free to skip the next part.

Write a program to take marks of 15 subjects from the user and display the Total, Percentage, Highest Marks, Average, and Remarks. It should also work if the number of subjects is less than 15.

I have published this program on my website, don't worry it doesn't have any ads. You can check out the program for 15 subjects here: https://mayankvikash.ml/posts/simple-report-card-in-java.html

Originally Published at https://mayankvikash.ml/posts/simple-report-card-in-java.html


Written by mayankvikash | Student with some knowledge of how technologies work.
Published by HackerNoon on 2022/03/06