为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查列表字符串变量的元素

如何检查列表字符串变量的元素

慕尼黑5688855 2021-12-10 16:14:31
我想通过列表编写一个简单的系统,它会识别符号并对列表中的一些符号进行一些计算,并判断是否有任何错误。它看起来像这样:private static List<String> list = new ArrayList<>();private static void splitToList(String string){    list.addAll(Arrays.asList("((35+6-(4+4))=0;".split("")));    chekList(list);}private static void chekList (List list){    int open = 0;    int close =0;    for (int i=0;i<list.size();i++) {       System.out.println(list.get(i));        if (list.get(i) == "(") {            open++;            System.out.println(open);        }        if (list.get(i) == ")") {            close++;            System.out.println(close);        }    }    if (open != close){        System.out.println("false!");        br = true;    }}因此,这个用于识别列表元素中的“(”和“)”的 if 语句无论如何都不起作用。有什么方法可以检查我的列表元素是否为“(”或“)”?这是一个完整的 IDE 输出。没有任何“打开”和“关闭”结果。
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

== 测试引用相等性(它们是否是同一个对象)。

您需要使用")".equals(list.get(i))来测试值是否相等(它们在逻辑上是否“相等”)。


查看完整回答
反对 回复 2021-12-10
?
九州编程

TA贡献1785条经验 获得超4个赞

private static void chekList (List<String> list){

    int open = 0;

    int close =0;


    for(String str : list) {

        System.out.println(str);


        if ("(".equals(str))

            System.out.println(++open);

        else if (")".equals(str))

            System.out.println(++close);

    }


    if (open != close)

        System.out.println("false!");

}


查看完整回答
反对 回复 2021-12-10
  • 2 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信