Java .. 给定公共类并且没有 Main 方法作为组项目的一部分 .. 我该如何编译?

Posted

技术标签:

【中文标题】Java .. 给定公共类并且没有 Main 方法作为组项目的一部分 .. 我该如何编译?【英文标题】:Java .. Given public class and no Main method as part of a group project .. how do I compile? 【发布时间】:2020-03-18 00:55:26 【问题描述】:

参加了一个在线 Java 入门课程,我的反应迟钝的教授为我们提供了“公共课程航空公司”来纠正错误、提高效率、添加功能等。只提供了 .txt 文件。到目前为止,在课堂上,我已经在 Eclipse 中编写了所有我自己的代码。如何获取没有 main 方法的提供的 .txt 文件并尝试编译它以便我可以处理作业?

感谢您的任何意见。 迈克

'''

import java.util.Scanner;

public class Airline


    boolean seats[]; // array of seats
    final int SIZE = 10;  // number of seats
    final int FIRST_CLASS = 1;
    final int ECONOMY_CLASS = 2;

   public Airline()
   
      seats = new boolean[ SIZE ]; // array of seats
   

   // prints boarding pass
   public void printBoardingPass( int seat )
   
      String section = ( seat < 5 ) ? "First Class" : "Economy Class";
      System.out.printf( "%s. Seat #%d\n", section, seat );
   

   // print seating menu
   public void printMenu()
   
      System.out.println( "Please type 1 for First Class" );
      System.out.println( "Please type 2 for Economy" );
      System.out.print( "choice: " );
   

   // checks customers in and assigns them a boarding pass
   public void checkIn()
         
      int firstClass = 0; // next available first class seat
      int economy = 5; // next available economy seat      
      int section = 0; // passenger's seating choice

      Scanner input = new Scanner( System.in );

      System.out.println( "Welcome to Java Airways" );

      while ( ( firstClass < 5 ) || ( economy < 10 ) )
      
         printMenu();
         section = input.nextInt();

         if ( section == FIRST_CLASS ) // user chose first class
         
            if ( firstClass < 5 )
            
               seats[ firstClass++ ] = true;
               printBoardingPass( firstClass );
             // end if 
            else if ( economy < 10 ) // first class is full
            
               System.out.println(
                  "First Class is full, Economy Class?" );
               System.out.print( "1. Yes, 2. No. Your choice: " );
               int choice = input.nextInt();

               if ( choice == 1 )
               
                  seats[ economy++ ] = true;
                  printBoardingPass( economy );
               
               else
                  System.out.println( "Next flight leaves in 3 hours." );
             // end else if
          // end if
         else if ( section == ECONOMY_CLASS ) // user chose economy
         
            if ( economy < 10 ) 
            
               seats[ economy++ ] = true;
               printBoardingPass( economy );
             // end if 
            else if ( firstClass < 5 ) // economy class is full
            
               System.out.println(
                  "Economy Class is full, First Class?" );
               System.out.print( "1. Yes, 2. No. Your choice: " );
               int choice = input.nextInt();

               if ( choice == 1 )
               
                  seats[ firstClass++ ] = true;
                  printBoardingPass( firstClass );
                // end if
               else
                  System.out.println( "Next flight leaves in 3 hours." );
             // end else if

          // end else if

         System.out.println();

       // end while

      System.out.println( "The plane is now full." );      

    // end method checkIn

 // end class Airline

'''

【问题讨论】:

可以随时添加main方法,按方法测试类方法 重命名文件Airline.java; 在 Eclipse 中创建一个新的 Airline 类。将其复制并粘贴到 eclipse 中。 它不需要main 方法来编译。你可以添加一个,也可以创建自己的类,实例化一个Airline,然后调用它的checkIn方法,即Airline airline = new Airline(); airline.checkIn(); 好的..我认为教授期待大卫的技术..感谢大家的投入 谢谢大卫..我创建了自己的类并调用了 checkIn() 以便我可以运行程序..我让它运行了。从我初学者的角度来看,代码看起来不错。不知道如何以我有限的技能改进它。再次感谢 【参考方案1】:

这是一个有效的 java 源文件,所以只需将其重命名为 Airplane.java(公共类必须始终位于以自身命名的源文件中;鉴于该文件包含 public class Airplane,因此源文件必须命名为 Airplane.java就是这样,注意外壳!

它没有main方法但没问题,你仍然可以编译它。您根本无法运行它(尝试执行java Airline 会产生错误:no main method found)。您可以创建另一个使用 Airline 类的类,或者,您可以向 Airline 类添加一个 main 方法。

【讨论】:

以上是关于Java .. 给定公共类并且没有 Main 方法作为组项目的一部分 .. 我该如何编译?的主要内容,如果未能解决你的问题,请参考以下文章

为啥包含 main 方法的类没有实例化并且在 Java 中仍然可以?

NetBeans 在非公共类中运行带有 main 的 Java 程序

作业day2

java基础-main方法详解

如何在没有继承方法的情况下获取类的公共方法?

在java中,有main方法的类叫啥类,没有main方法的类叫啥类