0% found this document useful (0 votes)
3 views

Set3

The document outlines a Java program with two packages: package1 containing ClassA (public) and ClassB (default), and package2 containing ClassC (public), ClassD (protected), and ClassE (with private fields). The MainProgram demonstrates the use of these classes and their access specifiers, including public, default, protected, and private. Additionally, a Student class is defined to manage student information, allowing for setting and displaying details, with user input for multiple students.

Uploaded by

kareena.it222110
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Set3

The document outlines a Java program with two packages: package1 containing ClassA (public) and ClassB (default), and package2 containing ClassC (public), ClassD (protected), and ClassE (with private fields). The MainProgram demonstrates the use of these classes and their access specifiers, including public, default, protected, and private. Additionally, a Student class is defined to manage student information, allowing for setting and displaying details, with user input for multiple students.

Uploaded by

kareena.it222110
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Set3

Write a program which has two packages, two classes in one packages and three classes in another
package, and show different access specifiers.

// File: package1/ClassA.java

package package1;

public class ClassA {

public void displayPublic() {

System.out.println("Public method in ClassA of package1.");

// File: package1/ClassB.java

package package1;

class ClassB {

void displayDefault() {

System.out.println("Default method in ClassB of package1.");

// File: package2/ClassC.java

package package2;

public class ClassC {

public void displayPublic() {

System.out.println("Public method in ClassC of package2.");

// File: package2/ClassD.java

package package2;
public class ClassD {

protected void displayProtected() {

System.out.println("Protected method in ClassD of package2.");

// File: package2/ClassE.java

package package2;

public class ClassE {

private String privateField;

public String getPrivateField() {

return privateField;

public void setPrivateField(String privateField) {

this.privateField = privateField;

// File: MainProgram.java

import package1.ClassA;

import package2.ClassC;

import package2.ClassD;

import package2.ClassE;

import java.util.Scanner;

public class MainProgram {

public static void main(String[] args) {


Scanner scanner = new Scanner(System.in);

// Using public class in package1

ClassA objA = new ClassA();

objA.displayPublic();

// Accessing default class in package1 (will not be accessible here)

// ClassB objB = new ClassB(); // Error: Not accessible outside package1

// Using public class in package2

ClassC objC = new ClassC();

objC.displayPublic();

// Using protected class in package2 (can access via subclass or same package)

ClassD objD = new ClassD();

objD.displayProtected();

// Using private fields with getter/setter in package2

ClassE objE = new ClassE();

System.out.print("Enter a value for the private field in ClassE: ");

String userInput = scanner.nextLine();

objE.setPrivateField(userInput);

System.out.println("Private field value retrieved from ClassE: " + objE.getPrivateField());

scanner.close();

Output

Public method in ClassA of package1.

Public method in ClassC of package2.

Protected method in ClassD of package2.


Enter a value for the private field in ClassE: Hello World

Private field value retrieved from ClassE: Hello World

Q2

import java.util.Scanner;

class Student {

private String name;

private int age;

private String address;

// Constructor to assign default values

public Student() {

this.name = "unknown";

this.age = 0;

this.address = "not available";

// Method to set name and age

public void setInfo(String name, int age) {

this.name = name;

this.age = age;

// Overloaded method to set name, age, and address

public void setInfo(String name, int age, String address) {

this.name = name;

this.age = age;

this.address = address;

// Method to display student details


public void displayInfo() {

System.out.println("Name: " + name + ", Age: " + age + ", Address: " + address);

public class StudentInfo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

Student[] students = new Student[10];

// Creating 10 student objects

for (int i = 0; i < students.length; i++) {

students[i] = new Student();

// Input details for 10 students

for (int i = 0; i < students.length; i++) {

System.out.println("Enter details for Student " + (i + 1) + ":");

System.out.print("Name: ");

String name = scanner.nextLine();

System.out.print("Age: ");

int age = scanner.nextInt();

scanner.nextLine(); // Consume the newline

System.out.print("Do you want to provide an address? (yes/no): ");

String hasAddress = scanner.nextLine();

if (hasAddress.equalsIgnoreCase("yes")) {

System.out.print("Address: ");

String address = scanner.nextLine();

students[i].setInfo(name, age, address);

} else {
students[i].setInfo(name, age);

// Display details of all students

System.out.println("\nDetails of Students:");

for (int i = 0; i < students.length; i++) {

System.out.print("Student " + (i + 1) + ": ");

students[i].displayInfo();

scanner.close();

Output

Enter details for Student 1:

Name: Alice

Age: 20

Do you want to provide an address? (yes/no): yes

Address: 123 Main Street

Enter details for Student 2:

Name: Bob

Age: 22

Do you want to provide an address? (yes/no): no

Enter details for Student 3:

Name: Charlie

Age: 19

Do you want to provide an address? (yes/no): yes

Address: 456 Oak Avenue

...
Details of Students:

Student 1: Name: Alice, Age: 20, Address: 123 Main Street

Student 2: Name: Bob, Age: 22, Address: not available

Student 3: Name: Charlie, Age: 19, Address: 456 Oak Avenue

...

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy