【问题标题】:illegal start of expression: Java Method表达式的非法开始:Java 方法
【发布时间】:2021-12-01 14:22:00
【问题描述】:

有谁知道为什么这个方法不让我调用它。我试图确保在开始编写代码之前可以调用不带参数的方法。是否有一些包裹或我需要的东西,或者有人可以解释发生了什么。提前致谢。我在验证旁边的 () 下得到一个 java: 表达式的非法开始和红线。

 import java.util.Scanner;
 import java.lang.Math;

 /// Start Program
public class javamethods {
   public static void main(String[] args) {

    // Create Scanner object
    Scanner input = new Scanner(System.in);

    validate();


    public static void validate() {

        System.out.print("Hi World");
        }
   }
}

【问题讨论】:

  • 您在另一个方法中定义了validate,但您应该在class 级别包含它。换句话说,将} 放在validate(); 之后
  • Awww 谢谢。非常感谢。

标签: java function methods output call


【解决方案1】:

validate 方法可能没有定义在内部main 方法。

相反,这样做:

public static void main(String[] args) {

    // Create Scanner object
    Scanner input = new Scanner(System.in);

    validate();
}

public static void validate() {

    System.out.print("Hi World");
}

【讨论】:

    【解决方案2】:

    您的花括号顺序混淆了;并在此过程中在主方法中声明了一个新方法。

    import java.util.Scanner;
    import java.lang.Math;
    
    /// Start Program
    public class javamethods {
        public static void main(String[] args) {
    
    // Create Scanner object
    Scanner input = new Scanner(System.in);
    
    validate();
    
    
    public static void validate() {
    
        System.out.print("Hi World");
        }
      }
    }
    

    您应该在类级别声明您的方法。

    将您的代码更改为:

    import java.util.Scanner;
    import java.lang.Math;
    
     /// Start Program
     public class javaMethods {
        public static void main(String[] args) {
    
        // Create Scanner object
        Scanner input = new Scanner(System.in);
    
        validate();
    }
    
    public static void validate() {
    
        System.out.print("Hi World");
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      相关资源
      最近更新 更多