首页 > 解决方案 > 如何在 java 中声明方法时修复“表达式的非法开始”错误

问题描述

我在一个类中声明了一个简单的方法,该方法检查一个数字是否为三角形,但在声明该方法时,编译器显示“表达式的非法开始”错误。下面是我的代码

            import java.util.*;
            import java.lang.*;
            import java.io.*;
            class Ideone
            {
                public static void main (String[] args) throws java.lang.Exception
                {

                    int n ;
                    Scanner in = new Scanner (System.in) ;
                    n = in.nextInt() ;
                    static boolean  isTriagular ()
                    {
                        int tn = 1 ;
                        while ( n <= tn  )
                        {
                            if ( tn == n ) 
                            {
                                System.out.println("yes" ) ;
                                System.exit(0) ;
                            }
                            tn += ( tn + 1 ) ;
                        }
                    }
                    // your code goes here
                }
            }

Main.java:14:错误:表达式静态布尔 isTriagular () 的非法开始 ^

标签: java

解决方案


您应该移出isTriangularmain 方法,然后在 main 方法中调用您的方法,如下所示:

import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        int n ;
        Scanner in = new Scanner (System.in) ;
        n = in.nextInt() ;

        // your code goes here
        isTriagular();
    }

    static void isTriagular()
    {
        int tn = 1 ;
        while ( n <= tn  )
        {
            if ( tn == n ) 
            {
                System.out.println("yes" ) ;
                System.exit(0) ;
            }
            tn += ( tn + 1 ) ;
        }
    }
}

我将类型更改isTriangular为 avoid因为您在将某些内容打印到控制台后退出整个程序。如果您从它返回一个结果以设置为等于另一个变量,它只需要是一个布尔值。

这方面的一个例子是:

boolean myResult = isTriangular();


推荐阅读