Java Programs for Data Structures
Java Programs for Data Structures
import
java
.
u
til
.
S
canner
;
public
class
ThreeDArraySearch
{
public
static
void
main
(
S
tring
[]
args
) {
// Initialize a 3D array with integer values
int
[][][]
array
=
{
{
{
1
,
2
,
3},
{
4
,
5
,
6}
},
{
{
7
,
8
,
9},
{
10
,
11
,
12
}
}
};
// Display result
if
(
f
ound
) {
System
.
out
.
println
(
s
earchNumber
+
" is present in the 3D array."
);
}
else
{
System
.
out
.
println
(
s
earchNumber
+
" is not found in the 3D array."
);
}
}
}
Flowchart:
Results:
Java - Assignment 3
Node
(
int
data
) {
this
.
d
ata
=
data
;
this
.
n
ext
=
null
;
}
}
public
class
LinkedListOperations
{
Node
head
;
public
static
void
main
(
S
tring
[]
args
) {
LinkedListOperations
list
=
new
LinkedListOperations
();
Flowchart:
Java - Assignment 3
Results:
Java - Assignment 3
import
java
.
u
til
.
M
ap
;
import
java
.
u
til
.
S
canner
;
public
class
FindDuplicateCharacters
{
public
static
void
main
(
S
tring
[]
args
) {
Scanner
scanner
=
new
Scanner
(
System
.
in
);
System
.
o
ut
.
print
(
"Enter a string: "
);
String
input
=
scanner
.
n
extLine
();
scanner
.
close
();
Map
<
C
haracter
,
Integer
>
charCount
=
new
HashMap
<>();
for
(
i
nt
i
=
0
;
i
<
input
.
length
();
i
++
) {
char
c
=
input
.
charAt
(
i
);
charCount
.
p
ut
(
c
,
charCount
.
g
etOrDefault
(
c
,
0)
+
1
);
}
System
.
o
ut
.
println
(
"Duplicate characters in the string are:"
);
boolean
found
=
false
;
for
(
M
ap
.
E
ntry
<
Character
,
Integer
>
entry
:
charCount
.
entrySet
())
{
if
(
e
ntry
.
getValue
()
>
1
) {
System
.
out
.
p
rintln
(
entry
.
getKey
()
+
" appears "
+
entry
.
getValue
()
+
" times"
);
Java - Assignment 3
found
=
true
;
}
}
if
(
!
found
) {
System
.
out
.
println
(
"
No duplicate characters found."
);
}
}
}
Flowchart:
Java - Assignment 3
Results:
Java - Assignment 3
Problem 4:Write a program in Java to check palindrome string using data types
queue and stack
import
java
.
u
til
.
L
inkedList
;
import
java
.
u
til
.
Q
ueue
;
import
java
.
u
til
.
S
tack
;
import
java
.
u
til
.
S
canner
;
public
class
PalindromeUsingQueueStack
{
public
static
void
main
(
S
tring
[]
args
) {
// Taking input from the user
Scanner
scanner
=
new
Scanner
(
System
.
in
);
System
.
o
ut
.
print
(
"Enter a string: "
);
String
input
=
scanner
.
n
extLine
();
scanner
.
close
();
// Remove spaces and convert to lowercase to handle cases like "A man a
plan"
input
=
input
.
replaceAll
(
"
\
\
s"
,
""
).
toLowerCase
();
// Print result
if
(
i
sPalindrome
) {
System
.
out
.
println
(
"
The string is a palindrome."
);
}
else
{
System
.
out
.
println
(
"
The string is not a palindrome."
);
}
}
}
Results:
Program 5: Write a program in Java to check two strings are anagram or not
import
java
.
u
til
.
A
rrays
;
import
java
.
u
til
.
S
canner
;
Java - Assignment 3
public
class
AnagramCheck
{
public
static
void
main
(
S
tring
[]
args
) {
Scanner
scanner
=
new
Scanner
(
System
.
in
);
System
.
o
ut
.
print
(
"Enter the first string: "
);
String
str1
=
scanner
.
nextLine
();
System
.
o
ut
.
print
(
"Enter the second string: "
);
String
str2
=
scanner
.
nextLine
();
scanner
.
close
();
str1
=
str1
.
r
eplaceAll
(
"
\
\
s"
,
""
).
toLowerCase
();
str2
=
str2
.
r
eplaceAll
(
"
\
\
s"
,
""
).
toLowerCase
();
if
(
s
tr1
.
l
ength
()
!=
str2
.
l
ength
()) {
System
.
out
.
println
(
"
The strings are not anagrams."
);
return
;
}
char
[]
arr1
=
str1
.
t
oCharArray
();
char
[]
arr2
=
str2
.
t
oCharArray
();
Arrays
.
s
ort
(
a
rr1
);
Arrays
.
s
ort
(
a
rr2
);
if
(
A
rrays
.
equals
(
arr1
,
arr2
)) {
Java - Assignment 3
System
.
out
.
println
(
"
The strings are anagrams."
);
}
else
{
System
.
out
.
println
(
"
The strings are not anagrams."
);
}
}
}
Results:
rogram 6: You are asked to write a discount system for a beauty salon, which
P
provides services and sells beauty products. It offers 3 types of memberships:
Premium, Gold and Silver. Premium, gold and silver members receive a discount of
20%, 15%, and 10%, respectively, for all services provided. Customers without
membership receive no discount. All members receive a flat 10% discount on
products purchased (this might change in future). Your system shall consist of three
classes: Customer, Discount and Visit, as shown in the class diagram. It shall
compute the total bill if a customer purchases $x of products and $y of services, for a
visit. Also write a test program to exercise all the classes.
import
java
.
u
til
.
D
ate
;
class
Customer
{
private
String
name
;
private
boolean
member
=
false
;
Java - Assignment 3
private
String
memberType
;
public
Customer
(
S
tring
name
) {
this
.
n
ame
=
name
;
}
public
String
getName
() {
return
name
;
}
public
boolean
isMember
() {
return
member
;
}
public
void
setMember
(
b
oolean
member
) {
this
.
m
ember
=
member
;
}
public
String
getMemberType
() {
return
memberType
;
}
public
void
setMemberType
(
String
type
) {
this
.
m
emberType
=
type
;
}
@
Override
public
String
toString
() {
return
"Customer[name="
+
name
+
", member="
+
member
+
", memberType="
+
memberType
+
"]"
;
}
Java - Assignment 3
}
class
DiscountRate
{
private
static
final
double
serviceDiscountPremium
=
0.2
;
private
static
final
double
serviceDiscountGold
=
0.15
;
private
static
final
double
serviceDiscountSilver
=
0.1
;
private
static
final
double
productDiscount
=
0.1
;
public
static
double
getServiceDiscountRate
(
String
type
) {
switch
(
t
ype
) {
case
"Premium"
:
return
serviceDiscountPremium
;
case
"Gold"
:
return
serviceDiscountGold
;
case
"Silver"
:
return
serviceDiscountSilver
;
default:
return
0.0
;
}
}
public
static
double
getProductDiscountRate
() {
return
productDiscount
;
}
}
class
Visit
{
private
Customer
customer
;
private
Date
date
;
private
double
serviceExpense
;
private
double
productExpense
;
public
Visit
(
Customer
customer
,
Date
date
) {
this
.
c
ustomer
=
customer
;
this
.
d
ate
=
date
;
Java - Assignment 3
}
public
String
getName
() {
return
customer
.
getName
();
}
public
double
getServiceExpense
() {
return
serviceExpense
;
}
public
void
setServiceExpense
(
d
ouble
ex
) {
this
.
s
erviceExpense
=
ex
;
}
public
double
getProductExpense
() {
return
productExpense
;
}
public
void
setProductExpense
(
d
ouble
ex
) {
this
.
p
roductExpense
=
ex
;
}
public
double
getTotalExpense
() {
double
serviceDiscount
=
customer
.
i
sMember
()
?
DiscountRate
.
getServiceDiscountRate
(
c
ustomer
.
getMemberType
())
:
0
;
double
productDiscount
=
customer
.
i
sMember
()
?
DiscountRate
.
getProductDiscountRate
()
:
0
;
return
(
s
erviceExpense
*
(
1
-
serviceDiscount
))
+
(
productExpense
*
(
1
-
productDiscount
));
}
Java - Assignment 3
@
Override
public
String
toString
() {
return
"Visit[customer="
+
customer
+
", date="
+
date
+
",
serviceExpense="
+
serviceExpense
+
", productExpense="
+
productExpense
+
"]"
;
}
}
public
class
TestSalon
{
public
static
void
main
(
S
tring
[]
args
) {
Customer
customer
=
new
Customer
(
"
Alice"
);
customer
.
setMember
(
t
rue
);
customer
.
setMemberType
(
"
Gold"
);
Visit
visit
=
new
Visit
(
customer
,
new
Date
());
visit
.
setServiceExpense
(
100
);
visit
.
setProductExpense
(
50
);
System
.
o
ut
.
println
(
visit
);
System
.
o
ut
.
println
(
"Total expense: "
+
visit
.
getTotalExpense
());
}
}
Results:
Java - Assignment 3