Swayam NPTEL Programming in Java Programming Assignment July-2025 Week-1 to Week-8

  Please scroll down for latest Programs. 👇  



Week 01 : Programming Assignment 3

Due on 2025-08-07, 23:59 IST

Write a Java program to print the multiplication table of a given number up to 4.

 

NOTE:

Print EXACTLY as shown in the sample output.

DO NOT MISS a single space otherwise you will not be scored.

(Remember to match the output given exactly, including the spaces and new lines)

(passed with presentation error means you will get full marks)

Your last recorded submission was on 2025-07-24, 10:16 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W01_P3 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
// Print the multiplication table of number up to 5
for (int i = 1; i <= 4; i++)
  System.out.printf("%d x %d = %d\n", number, i, number * i);
in.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
5
5 x 1 = 5\n
5 x 2 = 10\n
5 x 3 = 15\n
5 x 4 = 20
5 x 1 = 5\n
5 x 2 = 10\n
5 x 3 = 15\n
5 x 4 = 20\n
Passed after ignoring Presentation Error



Week 01 : Programming Assignment 4

Due on 2025-08-07, 23:59 IST

Complete the code fragment that reads two integer inputs from keyboard and compute the quotient and remainder.

Your last recorded submission was on 2025-07-24, 10:18 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
public class W01_P4{
       public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       int x=sc.nextInt();
       int y=sc.nextInt();
//code for quotient and remainder
if (y == 0) {
  System.out.println("Error: Division by zero is not allowed.");
}
else {
  int quotient = x / y;
  int remainder = x % y;
  System.out.println("The Quotient is = " + quotient);
  System.out.print("The Remainder is = " + remainder);
}
sc.close();  
  }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
556
9
The Quotient is = 61\n
The Remainder is = 7
The Quotient is = 61\n
The Remainder is = 7
Passed



Week 01 : Programming Assignment 5

Due on 2025-08-07, 23:59 IST

Write a Java program to print the area and perimeter of a rectangle.

Your last recorded submission was on 2025-07-24, 10:19 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
public class W01_P5 { 
   public static void main(String[] strings) {
       double width ;
       double height;
       Scanner in = new Scanner(System.in);
       width = in.nextDouble();
       height = in.nextDouble();
// Calculate the perimeter of the rectangle
double perimeter = 2 * ( height + width ) ;
// Calculate the area of the rectangle
double area = height * width;
// Print the calculated perimeter using placeholders for values
       System.out.printf("Perimeter is 2*(%.1f + %.1f) = %.2f\n", height, width, perimeter);
 
// Print the calculated area using placeholders for values
       System.out.printf("Area is %.1f * %.1f = %.2f", width, height, area);    
   }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
5.6 8.5
Perimeter is 2*(8.5 + 5.6) = 28.20\n
Area is 5.6 * 8.5 = 47.60
Perimeter is 2*(8.5 + 5.6) = 28.20\n
Area is 5.6 * 8.5 = 47.60
Passed




W02 Programming Assignments 1

Due on 2025-08-07, 23:59 IST

Write a Java program to calculate the area of a rectangle.

The formula for area is:
Area = length × width

You are required to read the length and width from the user, compute the area, and print the result.

This task helps you practice using variables, arithmetic operations, and printing output in Java.

Your last recorded submission was on 2025-08-01, 16:57 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W02_P1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read length and width of the rectangle
        int length = sc.nextInt();
        int width = sc.nextInt();
// ================================================
        // NOTE TO STUDENTS:
        // This is a simple beginner-level task.
        // Your role is to calculate the area using the given length and width.
        // Complete the line below using the correct formula.
        // ================================================
 
        // TODO: Calculate area of the rectangle
 
        /*
         Hint:
         - Multiply length and width to get the area
         - Store the result in a variable called 'area'
         */
int area = length * width;
// Print the area
        System.out.print("Area is: " + area);
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
5
10
Area is: 50
Area is: 50
Passed



W02 Programming Assignments 2

Due on 2025-08-07, 23:59 IST

Problem Statement

Write a Java program to calculate the perimeter of a rectangle.

The formula for perimeter is:
Perimeter = 2 multiplied by (length + width)

You are required to read the length and width as integers from the user, compute the perimeter, and print the result.

This problem helps in practicing arithmetic operations and output printing in Java.

Your last recorded submission was on 2025-08-01, 16:59 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W02_P2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read length and width of the rectangle
        int length = sc.nextInt();
        int width = sc.nextInt();
// Complete the code to calculate the perimeter of the rectangle
        // TODO: Calculate the perimeter using the correct formula
        /*
         Hint:
         The formula is: perimeter = 2 multiplied by (length + width)
         */
int perimeter = 2 * (length + width);
System.out.println("Perimeter is: " + perimeter);
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
4  
6
Perimeter is: 20
Perimeter is: 20\n
Passed after ignoring Presentation Error



W02 Programming Assignments 3

Due on 2025-08-07, 23:59 IST

Finding the Maximum Element in an Array


Problem Statement

What is the Maximum Element?
In an array of numbers, the maximum is the largest number among all elements.

In this assignment:

  • You will read n numbers from the user

  • Store them in an array

  • Find the largest number among them

  • Print the maximum number

This task helps you apply loops and arrays together to solve a real logic-based problem.

Your last recorded submission was on 2025-08-01, 17:00 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W02_P3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int n = sc.nextInt();
        int[] arr = new int[n];
 
        // Read n numbers into array
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
 
        int max = arr[0];  // Assume first element is maximum
// TODO: Use a loop to find maximum element
        /*
         Hint:
         Start loop from index 1 to n - 1
         Compare each element with max
         If element is greater, update max
         */
for (int i = 1; i < n; i++) {
  if (arr[i] > max) {
    max = arr[i];
  }
}
System.out.println("Maximum is: " + max);
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
5  
15 42 9 28 37
Maximum is: 42
Maximum is: 42\n
Passed after ignoring Presentation Error



W02 Programming Assignments 4

Due on 2025-08-07, 23:59 IST

Create a Class and Access Its Member Variable


Problem Statement

In this task, you will practice creating and using a class in Java.

You need to:

  1. Create a class called Rectangle

  2. Declare two integer member variables length and width

  3. In the main method, create an object of the Rectangle class, assign values to length and width, and print their sum

This problem helps you understand how to define a class, create objects, and access class members in Java.

Your last recorded submission was on 2025-08-01, 17:01 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W02_P4 {
 
    // Declare a class named Rectangle
    static class Rectangle {
        int length;
        int width;
    }
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read length and width
        int l = sc.nextInt();
        int w = sc.nextInt();
 
        // Create an object of the Rectangle class
        Rectangle rect = new Rectangle();
 
        // Assign values to the object's member variables
        rect.length = l;
        rect.width = w;
// Complete the code to print the sum of length and width
        // TODO: Print the sum using rect.length and rect.width
        /*
         Hint:
         Use: rect.length + rect.width to get the sum
         Print the result using System.out.println
         tip--System.out.println("Sum of length and width is: " +.....)
         */
System.out.println("Sum of length and width is: " + (rect.length + rect.width));
sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
5  
10
Sum of length and width is: 15
Sum of length and width is: 15\n
Passed after ignoring Presentation Error



W02 Programming Assignments 5

Due on 2025-08-07, 23:59 IST

Working with Multiple Classes, Constructors, and the this Keyword


Problem Statement

In this task, you will learn how to:

  • Declare multiple classes in the same Java program

  • Use constructors to initialize values

  • Apply the this keyword to refer to instance variables

What you need to do:

  1. Declare a class called Circle with one member variable radius

  2. Write a constructor for Circle that takes radius as a parameter and assigns it using the this keyword

  3. In the main method, create an object of Circle and print its radius

This task helps understand how classes work together and how constructors and the this keyword are used for clarity.


Your last recorded submission was on 2025-08-01, 17:02 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W02_P5 {
 
    // Declare a separate class named Circle
    static class Circle {
 
        int radius;
// TODO: Write a constructor that takes radius as parameter
        // Use the 'this' keyword to assign the value to the member variable
        /*
         Hint:
         The constructor name should be Circle
         Use: this.radius = radius;
         */
public Circle(int radius) {
  this.radius = radius;
}
}
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read radius value from user
        int r = sc.nextInt();
 
        // Create an object of Circle class using constructor
        Circle c = new Circle(r);
 
        // Print the radius using object member
        System.out.println("Radius of the circle is: " + c.radius);
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
7
Radius of the circle is: 7
Radius of the circle is: 7\n
Passed after ignoring Presentation Error





W06 Programming Assignments 1

Due on 2025-09-04, 23:59 IST

Safe Division with Run-time Error Handling


Problem Statement

In Java, some operations can cause run-time errors, for example dividing a number by zero.
We can use a try-catch block to handle such errors and avoid program crashes.

Task:

  • Read two integers from the user

  • Divide the first number by the second inside a try-catch block

  • If the second number is zero, print "Cannot divide by zero"

  • Otherwise, print the result

This task introduces basic run-time error handling in a safe and controlled way.

Your last recorded submission was on 2025-08-30, 17:15 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W06_P1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read two integers
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
 
        // Use try-catch to handle possible run-time error
        try {
int result = num1 / num2;
System.out.println("Result is: " + result);
} catch (ArithmeticException e) {
            // Print safe message if division by zero occurs
            System.out.println("Cannot divide by zero");
        }
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
10  
0
Cannot divide by zero
Cannot divide by zero\n
Passed after ignoring Presentation Error
Test Case 2
10  
2
Result is: 5
Result is: 5\n
Passed after ignoring Presentation Error



W06 Programming Assignments 2

Due on 2025-09-04, 23:59 IST

Programming Assignment: Nested try-catch Block


Problem Statement

In Java, nested try-catch blocks allow handling multiple levels of errors separately.
You can place one try-catch block inside another to handle different types of errors in different places.

Programming Assignment:

  • Read two integers from the user

  • Inside an outer try-catch block, perform the following:

    • Inside a nested try block, divide the first number by the second

    • If division by zero occurs, handle it with the inner catch block

  • In the outer catch block, handle any other unexpected errors

  • Print appropriate messages for each scenario

This programming assignment introduces nested try-catch structure.

Your last recorded submission was on 2025-08-30, 17:17 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W06_P2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read two integers
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
 
        // Outer try-catch block
        try {
 
            // Inner try-catch block for division operation
            try {
int result = num1 / num2;
System.out.println("Division successful");
System.out.println("Result is: " + result);
} catch (ArithmeticException e) {
                System.out.println("Cannot divide by zero");
            }
 
        } catch (Exception e) {
            // Handles other unexpected errors
            System.out.println("An unexpected error occurred");
        }
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
10  
2
Division successful\n
Result is: 5
Division successful\n
Result is: 5\n
Passed after ignoring Presentation Error



W06 Programming Assignments 3

Due on 2025-09-04, 23:59 IST

Programming Assignment: try Block with Multiple catch Blocks


Problem Statement

In Java, a try block can be followed by multiple catch blocks to handle different types of errors separately.

This improves error handling by allowing specific actions for different exceptions.

Key Concepts:

  • The first matching catch block handles the error

  • Catch blocks are written in order from most specific to general

Programming Assignment:

  • Read two integers from the user

  • Inside a try block, divide the first number by the second

  • Handle ArithmeticException separately to detect division by zero

  • Handle any other general errors using another catch block

  • Print suitable messages based on the type of error

This demonstrates structured error handling with multiple catch blocks.

Your last recorded submission was on 2025-08-30, 17:19 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W06_P3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read two integers
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
 
        // Try block with multiple catch blocks
        try {
// TODO: Perform division and print result if successful
            int result = num1 / num2;
            System.out.println("Division successful");
            System.out.println("Result is: " + result);
} catch (ArithmeticException e) {
            // Handles division by zero error
            System.out.println("Cannot divide by zero");
        } catch (Exception e) {
            // Handles other general errors
            System.out.println("An unexpected error occurred");
        }
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
20  
4
Division successful\n
Result is: 5
Division successful\n
Result is: 5\n
Passed after ignoring Presentation Error



W06 Programming Assignments 4

Due on 2025-09-04, 23:59 IST

Programming Assignment: Using finally in try-catch Block


Problem Statement

In Java, the finally block is a special part of error handling.

What is finally?

  • The code inside a finally block always runs, whether there is an error or not

  • It is usually used to close resources like files, database connections, or simply to show a message

Programming Assignment:

  • Read two integers from the user

  • Inside a try block, divide the first number by the second

  • If division by zero occurs, show an error message using catch block

  • Use a finally block to print "Program Ended" no matter what happens

This helps you understand how finally block always runs in a program.

Your last recorded submission was on 2025-08-30, 17:21 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W06_P4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        // Read two integers
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
 
        // try-catch-finally structure
        try {
// TODO: Perform division and print result
            int result = num1 / num2;
            System.out.println("Result is: " + result);
} catch (ArithmeticException e) {
            System.out.println("Cannot divide by zero");
        } finally {
            // Print final message, runs always
            System.out.println("Program Ended");
        }
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
15  
3
Result is: 5\n
Program Ended
Result is: 5\n
Program Ended\n
Passed after ignoring Presentation Error



W06 Programming Assignments 5

Due on 2025-09-04, 23:59 IST

Programming Assignment: Using throws Statement for Error Handling


Problem Statement

In Java, the throws keyword is used when a method might cause an error, but the method itself does not handle it.
Instead, it passes the responsibility to the caller of the method.

Why use throws?

  • Some methods may cause errors called "checked exceptions"

  • Instead of handling the error inside the method, we declare throws to inform the caller

Programming Assignment:

  • Create a method called calculateSquareRoot

  • The method reads a number and returns its square root

  • If the number is negative, it throws an Exception

  • In the main method, use a try-catch block to handle the error

This demonstrates how to use throws and handle errors safely in the caller method.

Your last recorded submission was on 2025-08-30, 17:23 IST
Select the Language for this assignment. 
File name for this program : 
import java.util.Scanner;
 
public class W06_P5 {
 
    // Method to calculate square root, may throw Exception
    public static double calculateSquareRoot(double num) throws Exception {
// TODO: Throw Exception if number is negative
        if (num < 0) {
            throw new Exception("Number cannot be negative");
        }
        return Math.sqrt(num);
}
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        double number = sc.nextDouble();
 
        try {
            double result = calculateSquareRoot(number);
            System.out.println("Square root is: " + result);
        } catch (Exception e) {
            System.out.println("Cannot calculate square root of negative number");
        }
 
        sc.close();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
16
Square root is: 4.0
Square root is: 4.0\n
Passed after ignoring Presentation Error






W08 Programming Assignments 1

Due on 2025-09-18, 23:59 IST

Creating a Thread using Thread Class


Problem Statement

In Java, you can run multiple tasks at the same time using Multithreading.
The simplest way to create a thread is by extending the built-in Thread class.

What is a Thread?

  • A thread is a small unit of a program that runs independently

  • Multiple threads can run in parallel, improving efficiency

Programming Assignment:

  • Create a class called MyThread that extends Thread

  • In its run() method, print "Thread is running"

  • In the main method, create an object of MyThread and start the thread

This helps you understand the basic way to create and start a thread in Java.

Your last recorded submission was on 2025-09-15, 21:28 IST
Select the Language for this assignment. 
File name for this program : 
public class W08_P1 {
 
    // Create a class that extends Thread
    static class MyThread extends Thread {
 
        @Override
        public void run() {
System.out.print("Thread is running");
}
    }
 
    public static void main(String[] args) {
 
        // Create object of MyThread
        MyThread t = new MyThread();
 
        // Start the thread
        t.start();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
NA
Thread is running
Thread is running
Passed



W08 Programming Assignments 2

Due on 2025-09-18, 23:59 IST

Creating a Thread using Runnable Interface


Problem Statement

In Java, another common way to create threads is by implementing the Runnable interface.

What is Runnable?

  • Runnable is an interface with a single method called run()

  • You can pass a Runnable object to a Thread and start the thread

Why use Runnable?

  • It allows your class to extend another class, as Java supports single inheritance

  • It provides flexibility in thread creation

Programming Assignment:

  • Create a class called MyRunnable that implements Runnable

  • In its run() method, print "Runnable thread is running"

  • In the main method, create a Thread object using MyRunnable and start the thread

This demonstrates thread creation using the Runnable interface.

Your last recorded submission was on 2025-09-15, 21:29 IST
Select the Language for this assignment. 
File name for this program : 
public class W08_P2 {
 
    // Create a class that implements Runnable interface
    static class MyRunnable implements Runnable {
 
        @Override
        public void run() {
System.out.print("Runnable thread is running");
}
    }
 
    public static void main(String[] args) {
 
        // Create object of MyRunnable
        MyRunnable r = new MyRunnable();
 
        // Create Thread using Runnable object
        Thread t = new Thread(r);
 
        // Start the thread
        t.start();
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
NA
Runnable thread is running
Runnable thread is running
Passed



W08 Programming Assignments 3

Due on 2025-09-18, 23:59 IST

Programming Assignment: Understanding Basic Thread States in Java


Problem Statement

When a thread runs in Java, it moves through different stages called states.

What are Thread States?
Think of a thread like a person:

  • It starts in one state

  • Moves to another as work happens

  • Finally, it finishes

For beginners, focus on these three simple states:

  1. New – The thread is created but not started yet

  2. Running – The thread is doing its work

  3. Terminated – The thread has finished its work

Programming Assignment:

  • Create a class called MyThread that extends Thread

  • Inside its run() method, print "Thread is running"

  • In the main method:

    • Create a MyThread object

    • Print "Thread state before start"

    • Start the thread

    • Print "Thread state after start"

    • Wait for thread to finish using join()

    • Print "Thread state after completion"

This shows how thread state changes as the thread runs.

Your last recorded submission was on 2025-09-15, 21:32 IST
Select the Language for this assignment. 
File name for this program : 
public class W08_P3 {
 
    // Create a class that extends Thread
    static class MyThread extends Thread {
 
        @Override
        public void run() {
System.out.println("Thread is running");
}
    }
 
    public static void main(String[] args) {
 
        // Create thread object
        MyThread t = new MyThread();
 
        // Thread is created but not started yet
        System.out.println("Thread state before start");
 
        // Start thread
        t.start();
 
        // Thread has started running
        System.out.println("Thread state after start");
 
        try {
            // Wait for thread to finish
            t.join();
        } catch (InterruptedException e) {
            // Not needed for beginners, but required to handle possible interruptions
        }
 
        // Thread has finished
        System.out.println("Thread state after completion");
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
NA
Thread state before start\n
Thread state after start\n
Thread is running\n
Thread state after completion
Thread state before start\n
Thread state after start\n
Thread is running\n
Thread state after completion\n
Passed after ignoring Presentation Error



W08 Programming Assignments 4

Due on 2025-09-18, 23:59 IST

Understanding Thread Priority in Java


Problem Statement

In Java, each thread has a priority, a number from 1 (lowest) to 10 (highest).
Priority suggests how important a thread is, though actual scheduling depends on the system.

Programming Assignment:

  • Create a class MyThread that extends Thread

  • In the main method:

    • Create a MyThread object

    • Set its priority to 8

    • Start the thread

    • Print the thread's priority after setting

No output should come from the thread's run() method to avoid output mismatch.

Your last recorded submission was on 2025-09-15, 21:38 IST
Select the Language for this assignment. 
File name for this program : 
public class W08_P4 {
 
    // Thread class
    static class MyThread extends Thread {
 
        @Override
        public void run() {
            // No output here to keep portal testing consistent
        }
    }
 
    public static void main(String[] args) {
 
        MyThread t = new MyThread();
 
        // Set thread priority
        t.setPriority(8);
 
        // Start thread
        t.start();
System.out.print("Thread priority is: " + t.getPriority());
}
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
NA
Thread priority is: 8
Thread priority is: 8
Passed



W08 Programming Assignments 5

Due on 2025-09-18, 23:59 IST

Programming Assignment: Introduction to Thread Synchronization


Problem Statement

What is a Thread?
Imagine your computer doing many tasks at once — for example:

  • Playing music

  • Downloading files

  • Browsing the internet

In Java, each small task that runs independently is called a Thread.
Threads help programs run faster by working at the same time.

Why Synchronization?
When multiple threads work on the same thing together, they may interfere with each other.
For example:

  • Two threads try to update the same number at the same time

  • The final result may be wrong

What is Synchronization?

  • It is like putting a lock

  • Only one thread can work on the shared thing at a time

  • This prevents problems caused by threads disturbing each other


Programming Assignment:

  • Create a class Counter with a number count starting from 0

  • Write a method increment() to increase the number by 1, using synchronized keyword

  • Create a thread class called MyThread that runs the increment() method 1000 times

  • In main, run two threads to increase the number

  • After both threads finish, print the final count

This shows how to use synchronization to avoid problems when multiple threads share data.

Your last recorded submission was on 2025-09-15, 21:40 IST
Select the Language for this assignment. 
File name for this program : 
public class W08_P5 {
 
    // Shared class with a number
    static class Counter {
        int count = 0;
 
        // Synchronized method to safely increase number
        public synchronized void increment() {
            count++;
        }
    }
 
    // Thread class to run increment
    static class MyThread extends Thread {
        Counter c;
 
        MyThread(Counter c) {
            this.c = c;
        }
 
        @Override
        public void run() {
for (int i = 0; i < 1000; i++) {
                c.increment();
            }
}
    }
 
    public static void main(String[] args) {
 
        Counter c = new Counter();
 
        // Create two threads
        MyThread t1 = new MyThread(c);
        MyThread t2 = new MyThread(c);
 
        // Start both threads
        t1.start();
        t2.start();
 
        try {
            // Wait for both threads to finish
            t1.join();
            t2.join();
        } catch (InterruptedException e) {
        }
 
        // Print final count
        System.out.println("Final count is: " + c.count);
    }
}
   


 
 
Public Test CasesInputExpected OutputActual OutputStatus
Test Case 1
NA
Final count is: 2000
Final count is: 2000\n
Passed after ignoring Presentation Error


No comments

Smart India Hackathon (SIH) 2025: Complete Guide with Problem Statements, Timeline & Idea PPT Template

  Smart India Hackathon (SIH) 2025: Complete Guide with Problem Statements, Timeline & Idea PPT Template Lets Code • September 8, 2025 I...