Delimiter
package delimiter;
import java.util.Stack;
public class Delimiter {
private int size;
private String input;
private boolean correct = true;
public Delimiter(String in) {
input = in;
size = input.length(); }
public void Check() {
Stack<Character> d = new Stack<Character>();
for (int i = 0; i < size; i++) {
char ch = input.charAt(i);
switch (ch) {
case '{':
case '[':
case '(':
d.push(ch);
break;
case '}':
case ']':
case ')':
if (!d.isEmpty()) {
char cx = d.pop();
if ((ch == '}' && cx != '{') || (ch == ']' && cx != '[') || (ch == ')' && cx != '(')) {
System.out.println("Error pada index ke " + i);
correct = false; } } else {
System.out.println("Error pada index ke " + i);
correct = false; }
break;
default:
break; } }
if (correct == true) {
System.out.println("Delimiter cocok");} }
public static void main(String[] args) {
Delimiter d1 = new Delimiter ("[{()}]");
d1.Check();
Delimiter d2 = new Delimiter ("[{7(8)}]");
d2.Check();
Delimiter d3 = new Delimiter ("[{(}}]");
d3.Check(); } }
Tidak ada komentar:
Posting Komentar