TÓPICO
Wrong 100% - Java
chiga0 perguntou 4 years ago
try {
//Se o arquivo possui menos que 1 linha ou mais que 10000, return
LineNumberReader lineNumber = new LineNumberReader(new FileReader(filePath));
lineNumber.skip(new File(filePath).length());
if(lineNumber.getLineNumber() < 1 || lineNumber.getLineNumber() > 10000) {
return;
}
//Leitura das expressões
BufferedReader fileBuffer = new BufferedReader(new FileReader(filePath));
String fileLine = "";
Stack<Character> stack = new Stack<Character>();
int contador = 0;
boolean firstCloseFlag = false;
while((fileLine = fileBuffer.readLine()) != null) {
if(fileLine.length() > 1000) {
return;
} else {
contador = 0;
firstCloseFlag = false;
for(int i=0; i < fileLine.length(); i++){
stack.push(fileLine.charAt(i));
if(stack.peek() == '('){
contador++;
} else if(stack.peek() == ')'){
contador--;
}
if(contador < 0) {
firstCloseFlag = true;
}
stack.pop();
}
if(firstCloseFlag) {
System.out.println("incorrect");
} else if(contador == 0){
System.out.println("correct");
} else {
System.out.println("incorrect");
}
}
}
} catch (IOException e) {
System.out.println(e);
}