Java-括号的问题

Java-括号的问题,java,brackets,Java,Brackets,我在放置括号时遇到了一些问题。我想在我的主要方法的范围内写一些方法,但我总是以一堆红线和错误结束,告诉我“这一行有多个标记” -令牌“void”上的语法错误,应为@ -无法将addVehicleBooking解析为类型“ 我不希望我的方法返回任何东西,我只希望它们执行一些代码并在屏幕上打印一些内容 编辑: 这是代码的开始,不需要担心未使用的变量等。谢谢大家的帮助=] import java.util.Scanner; public class FerryMenu { public stati

我在放置括号时遇到了一些问题。我想在我的主要方法的范围内写一些方法,但我总是以一堆红线和错误结束,告诉我“这一行有多个标记” -令牌“void”上的语法错误,应为@ -无法将addVehicleBooking解析为类型“

我不希望我的方法返回任何东西,我只希望它们执行一些代码并在屏幕上打印一些内容

编辑:

这是代码的开始,不需要担心未使用的变量等。谢谢大家的帮助=]

import java.util.Scanner;

public class FerryMenu {

public static void main(String[] args)
{
    Scanner input = new Scanner(System.in);
    Scanner scan = new Scanner(System.in);

    public static void addVehicleBooking()
    {
        String booking_ID = "";
        System.out.print("Enter your booking ID");
        booking_ID = input.next();
        String registration = "";
        System.out.print("Enter registration number");
        registration = input.next();
        String make_model = "";
        System.out.print("Enter vehicle make/model");
        make_model = input.next();
        int number_passengers = 1;
        System.out.print("Enter number of passengers");
        number_passengers = scan.nextInt();
    }

    String menu_choice = "";
    while(!"X".equals(menu_choice)){
        System.out.println("*** Ferry Ticketing System Menu ***");
        System.out.println("A   -   Add Vehicle Booking");
        System.out.println("B   -   Display Booking Info");
        System.out.println("C   -   Update Insurance Status");
        System.out.println("D   -   Display Booking Summary");
        System.out.println("X   -   Exit");

        System.out.print("Enter your selection: ");
        menu_choice = input.next();     
    }

}

}

不能在方法中定义方法。在方法外部和类内部声明它

public class FerryMenu {

    public static void addVehicleBooking()  
    {
         //...
    }

    public static void main(String[] args)   
    {   
         Scanner input = new Scanner(System.in);   
         Scanner scan = new Scanner(System.in);  

         // just call the method here
         addVehicleBooking();

         //...
    }
}

不能在方法内部定义方法。在方法外部和类内部声明它

public class FerryMenu {

    public static void addVehicleBooking()  
    {
         //...
    }

    public static void main(String[] args)   
    {   
         Scanner input = new Scanner(System.in);   
         Scanner scan = new Scanner(System.in);  

         // just call the method here
         addVehicleBooking();

         //...
    }
}

您正在主方法中编写AddVehicleAlBooking方法。 因此,那些红线:从main中删除该方法

public static void main(String[] args)
{
    Scanner input = new Scanner(System.in);
    Scanner scan = new Scanner(System.in);
}
    public static void addVehicleBooking()
    {
        String booking_ID = "";
        System.out.print("Enter your booking ID");
        booking_ID = input.next();
        String registration = "";
        System.out.print("Enter registration number");
        registration = input.next();
        String make_model = "";
        System.out.print("Enter vehicle make/model");
        make_model = input.next();
        int number_passengers = 1;
        System.out.print("Enter number of passengers");
        number_passengers = scan.nextInt();
    }

您正在主方法中编写AddVehicleAlBooking方法。 因此,那些红线:从main中删除该方法

public static void main(String[] args)
{
    Scanner input = new Scanner(System.in);
    Scanner scan = new Scanner(System.in);
}
    public static void addVehicleBooking()
    {
        String booking_ID = "";
        System.out.print("Enter your booking ID");
        booking_ID = input.next();
        String registration = "";
        System.out.print("Enter registration number");
        registration = input.next();
        String make_model = "";
        System.out.print("Enter vehicle make/model");
        make_model = input.next();
        int number_passengers = 1;
        System.out.print("Enter number of passengers");
        number_passengers = scan.nextInt();
    }

不能在方法中声明方法。。这与括号无关。。这是关于语法的

好的,迪恩,我再描述一遍

首先,
扔掉你写的代码。。让我们重新开始

请按照以下步骤处理您的问题:-

  • 创建一个类,比如说
    Demo
  • 向该类添加一个方法,
    getUserInput()
  • 将main方法也添加到类中
  • 具有构造函数(0-arg)
  • 现在,您的程序从
    main()
    开始执行。。如果您想获取用户输入。。从这里调用您的
    getUserInput()
    方法。。作为第一句话
  • getUserInputMethod()
    中,读取所有输入后,调用构造函数初始化
    实例变量

  • 在此之后,您的
    getUserInput()
    将把控制权返回到
    main()
    方法。。你可以从那里继续你的代码


不能在方法中声明方法。。这与括号无关。。这是关于语法的

好的,迪恩,我再描述一遍

首先,
扔掉你写的代码。。让我们重新开始

请按照以下步骤处理您的问题:-

  • 创建一个类,比如说
    Demo
  • 向该类添加一个方法,
    getUserInput()
  • 将main方法也添加到类中
  • 具有构造函数(0-arg)
  • 现在,您的程序从
    main()
    开始执行。。如果您想获取用户输入。。从这里调用您的
    getUserInput()
    方法。。作为第一句话
  • getUserInputMethod()
    中,读取所有输入后,调用构造函数初始化
    实例变量

  • 在此之后,您的
    getUserInput()
    将把控制权返回到
    main()
    方法。。你可以从那里继续你的代码


尝试在main外部取出
addVehicleBooking()
调用它并在构造函数中声明变量

尝试取出
addVehicleBooking()
在main外部调用它并在构造函数中声明变量

在主静态方法内部有一个静态方法,这可能导致问题。您是否尝试过将addVehicleBooking()方法移动到公共类FerryMenu和main方法之间的空间?(addVehicleBooking()方法应该是类FerryMenu的成员,而不是主方法)

您的主静态方法中有一个静态方法,这可能是导致问题的原因。您是否尝试过将addVehicleBooking()方法移动到公共类FerryMenu和main方法之间的空间?(addVehicleBooking()方法应该是类FerryMenu的成员,而不是main方法)

为什么要在publicstaticvoidmain中创建静态方法。我认为没有必要这样做

从“静态void addVehicleBooking”中删除static一词。
我将尽快编辑此答案并添加更正的代码。

为什么要在publicstaticvoidmain中创建静态方法。我认为没有必要这样做

从“静态void addVehicleBooking”中删除static一词。
我将尽快编辑此答案并添加更正的代码。

您不能在方法中定义方法。 您可以在类中这样定义它:

import java.util.Scanner;

public class FerryMenu {

static Scanner input = new Scanner(System.in);
static Scanner scan = new Scanner(System.in);

public static void addVehicleBooking()
{
    String booking_ID = "";
    System.out.print("Enter your booking ID");
    booking_ID = input.next();
    String registration = "";
    System.out.print("Enter registration number");
    registration = input.next();
    String make_model = "";
    System.out.print("Enter vehicle make/model");
    make_model = input.next();
    int number_passengers = 1;
    System.out.print("Enter number of passengers");
    number_passengers = scan.nextInt();
}

public static void main(String[] args)
{


    String menu_choice = "";
    while(!"X".equals(menu_choice)){
        System.out.println("*** Ferry Ticketing System Menu ***");
        System.out.println("A   -   Add Vehicle Booking");
        System.out.println("B   -   Display Booking Info");
        System.out.println("C   -   Update Insurance Status");
        System.out.println("D   -   Display Booking Summary");
        System.out.println("X   -   Exit");

        System.out.print("Enter your selection: ");
        menu_choice = input.next();     
    }
}
}

“输入”和“扫描”字段必须定义为静态字段,因为您将它们作为静态字段调用

您不能在方法中定义方法。 您可以在类中这样定义它:

import java.util.Scanner;

public class FerryMenu {

static Scanner input = new Scanner(System.in);
static Scanner scan = new Scanner(System.in);

public static void addVehicleBooking()
{
    String booking_ID = "";
    System.out.print("Enter your booking ID");
    booking_ID = input.next();
    String registration = "";
    System.out.print("Enter registration number");
    registration = input.next();
    String make_model = "";
    System.out.print("Enter vehicle make/model");
    make_model = input.next();
    int number_passengers = 1;
    System.out.print("Enter number of passengers");
    number_passengers = scan.nextInt();
}

public static void main(String[] args)
{


    String menu_choice = "";
    while(!"X".equals(menu_choice)){
        System.out.println("*** Ferry Ticketing System Menu ***");
        System.out.println("A   -   Add Vehicle Booking");
        System.out.println("B   -   Display Booking Info");
        System.out.println("C   -   Update Insurance Status");
        System.out.println("D   -   Display Booking Summary");
        System.out.println("X   -   Exit");

        System.out.print("Enter your selection: ");
        menu_choice = input.next();     
    }
}
}

“输入”和“扫描”字段必须定义为静态字段,因为您将它们作为静态字段调用
addVehicleBooking
应放置在
main
之外。顺便说一句:我希望您在某个地方使用了用于用户输入的变量,因为发布的代码中没有使用这些变量

重构后的代码应该如下所示:

import java.util.Scanner;

public class FerryMenu {
public static void main(String[] args) {
    addVehicleBooking();

}

public static void addVehicleBooking() {
    String menu_choice = "";
    Scanner input = new Scanner(System.in);
    Scanner scan = new Scanner(System.in);

    String booking_ID = "";
    System.out.print("Enter your booking ID");
    booking_ID = input.next();
    String registration = "";
    System.out.print("Enter registration number");
    registration = input.next();
    String make_model = "";
    System.out.print("Enter vehicle make/model");
    make_model = input.next();
    int number_passengers = 1;
    System.out.print("Enter number of passengers");
    number_passengers = scan.nextInt();

    while (!"X".equals(menu_choice)) {
        System.out.println("*** Ferry Ticketing System Menu ***");
        System.out.println("A   -   Add Vehicle Booking");
        System.out.println("B   -   Display Booking Info");
        System.out.println("C   -   Update Insurance Status");
        System.out.println("D   -   Display Booking Summary");
        System.out.println("X   -   Exit");
        System.out.print("Enter your selection: ");
        menu_choice = input.next();
    }

}

}

addVehicleBooking
应放在
main
之外。顺便说一句:我希望您在某个地方使用了用于用户输入的变量,因为发布的代码中没有使用这些变量

重构后的代码应该如下所示:

import java.util.Scanner;

public class FerryMenu {
public static void main(String[] args) {
    addVehicleBooking();

}

public static void addVehicleBooking() {
    String menu_choice = "";
    Scanner input = new Scanner(System.in);
    Scanner scan = new Scanner(System.in);

    String booking_ID = "";
    System.out.print("Enter your booking ID");
    booking_ID = input.next();
    String registration = "";
    System.out.print("Enter registration number");
    registration = input.next();
    String make_model = "";
    System.out.print("Enter vehicle make/model");
    make_model = input.next();
    int number_passengers = 1;
    System.out.print("Enter number of passengers");
    number_passengers = scan.nextInt();

    while (!"X".equals(menu_choice)) {
        System.out.println("*** Ferry Ticketing System Menu ***");
        System.out.println("A   -   Add Vehicle Booking");
        System.out.println("B   -   Display Booking Info");
        System.out.println("C   -   Update Insurance Status");
        System.out.println("D   -   Display Booking Summary");
        System.out.println("X   -   Exit");
        System.out.print("Enter your selection: ");
        menu_choice = input.next();
    }

}

}

你不能定义一个方法。。不是你可以P@chaitanya10:哎呀!:o。。。修好了。谢谢。你不能定义一个方法。。不是你可以P@chaitanya10:哎呀!:o。。。修好了。谢谢。不仅如此,addVehicleBooking从未被使用过,所以我们无法猜测他需要用他的“内心”做什么method@TecHunter当前位置我的猜测是-如果他在那里声明,可能就是他想叫它的地方。@TecHunter。。实际上他以前问过这个问题。。在那里,他把所有这些代码都放在一个构造函数中。我告诉他要有一个方法,让它完成所有的I/O。。然后你可以从那里创建类实例。。。也许他有点糊涂