我在类中声明了一个简单的方法,该方法检查数字是否为三角形,但是在声明该方法时,编译器显示“表达式的非法开始”错误。下面给出的是我的代码
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() ^
答案 0 :(得分:2)
您应将isTriangular
移出主要方法,然后在主要方法中调用您的方法,如下所示:
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
的类型更改为void
,因为在将某些内容打印到控制台后您将退出整个程序。如果您要从中返回结果以将其设置为等于另一个变量,则只需将其设为布尔值即可。
一个例子是:
boolean myResult = isTriangular();
答案 1 :(得分:0)
您在另一个函数中声明一个函数
将isTriangulaire()
声明移至main()
函数之外
之后,您可以在main内部调用isTriangulaire()