Java教程

Java编码错误:illegal start of expreesion + not a statement

本文主要是介绍Java编码错误:illegal start of expreesion + not a statement,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

代码

import java.util.*;
public class Solution {
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    public boolean isValid (String s) {
        // write code here
        
        /**
         * 使用一个栈来存储
        */
        // 1.判断,避免愚蠢的字符
        if(s.charAt(0) == ')' || s.charAt(0) == ']' || s.charAt(0) == '}'){
            return false;
        }
        
        // 2.实例化一个栈
        Stack<Character> stack = new Stack();
        
        // 3.遍历字符串
        for(int i = 0; i< s.length() ;i++){
            // 3.1 判断进栈还是出栈
            if(s.charAt(i) == '(' || s.charAt(i) == '[' || s.charAt(i) == '{'){
                stack.push(s.charAt(i));
            }else{
                // stack.peek() == s.charAt(i) ? stack.pop() : return false;   -------------< 错误位置
            }
        }
    }
}

错误原因

1.illegal start of expreesion

  • 不合法的开始表达
  • 错误原因:三元表达式中只能存放合法的表达式,意思就是三元表达式后面的表达式必须计算之后有值
  • return false 不是合法有值的表达式

2.not a statement

  • 不是一个语句
  • 三元表达式是一个表达式,也就是说不能独立的成为一个语句进行运行,他必须得有有个等号,将表达式的元素结果赋值。

解决方法:换成if -else结构 ,因为不执行的表达式可以用于判断。

这篇关于Java编码错误:illegal start of expreesion + not a statement的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!