gpt4 book ai didi

java - 如何使用 ()、[]、{} 检查器修复此输出问题?

转载 作者:行者123 更新时间:2023-12-02 01:16:56 25 4
gpt4 key购买 nike

问题是在扫描名为“confused.dat”的文件后,它输出了预期内容的 90%,另外 10% 不正确。

我尝试过交换扫描文件的方法,但没有真正改变。

import java.util.Scanner;
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;

public class confused {
public static boolean isBalanced(String inp) {
if ((inp.length() % 2) == 1){ return false;}
else {
Stack<Character> s = new Stack<>();
for (char brackBrick : inp.toCharArray())
switch (brackBrick) {
case '{': s.push('}'); break;
case '(': s.push(')'); break;
case '[': s.push(']'); break;
default : if (s.isEmpty() || brackBrick != s.peek()) { return false;}
s.pop();
}
return s.isEmpty();
}
}

public static void main(String[] args) /*throws FileNotFoundException*/ {

try{
Scanner scrn = new Scanner (new File("confused.dat"));
while (scrn.hasNextLine()){
boolean answer = isBalanced(scrn.nextLine());

if (answer) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}

} catch (FileNotFoundException e){e.printStackTrace();}

}
}

confused.dat 文件:


([])
(([()])))
([()[]()])()
(([()])
([] )
(([()])))
([()[]()])()
(
(]
)(
][

这是预期输出与实际输出

/image/6mLVp.jpg

最佳答案

不应该是“不”吗,因为

if ((inp.length() % 2) == 1){ return false;}

if (answer) {
System.out.println("Yes");
} else {
System.out.println("No");

(([()]))) 不是偶数,因此它为 false,因此将打印 no。

关于java - 如何使用 ()、[]、{} 检查器修复此输出问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58423366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com