❓ Help Java Program about stack

Status
Not open for further replies.
sana may makasagot nito.

Enter string -> (x-2 * (x+7))
output balance

enter string -> ((x+6 * (x-4) + (x+3)
output notbalance

algo

scan all characters in the string
if open parenthesis "(" push to stack
if close parenthesis ")" push to pop

after scanning
if stack is empty = balance
if stack is not empty = not balance

may nakita akong mga code sa google:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* Balanced Brackets Problem - You do not have permission to view the full content of this post. Log in or register now.
*/
import java.util.Stack;

public class ParenthesesChecker {

public static void main(String[] args) {

String str = "{[]})";

//Declare a stack
Stack st = new Stack<>();

//Traverse a string
for(int i = 0; i < str.length(); i++) {

/* If the current character is starting bracket,
then push them in a stack
*/
if(str.charAt(i) == '{' || str.charAt(i) == '[' || str.charAt(i) == '(') {
st.push(str.charAt(i));

/*
Else, If the stack is not empty,
And current character is a closing bracket
and top character of a stack is matching open bracket
then pop it.
*/
} else if ( !st.empty() && ((str.charAt(i) == ']' && st.peek() == '[') ||
(str.charAt(i) == '}' && st.peek() == '{') ||
(str.charAt(i) == ')' && st.peek() == '('))) {

st.pop();

} else {
st.push(str.charAt(i));
}
}

if(st.empty()) {
System.out.println("Balanced");
} else {
System.out.println("Not balanced");
}
}
}

(tanong ko lang pano po to ma work need po ba gumawa ng new class na ParenthesisChecker.java? ano naman ang ilalagay sa main.java)
 
Status
Not open for further replies.

About this Thread

  • 0
    Replies
  • 268
    Views
  • 1
    Participants
Last reply from:
Justchillbruh122

Trending Topics

Online now

Members online
1,150
Guests online
1,365
Total visitors
2,515

Forum statistics

Threads
2,273,442
Posts
28,949,527
Members
1,235,747
Latest member
_usteng_
Back
Top