繁体   English   中英

程序编译但无法运行,无法使用构造函数

[英]Program compiles but won't run, cannot use constructor

谁能告诉我为什么我不能在“交互”面板中创建新对象,或者为什么即使编译该程序也无法运行?

   import java.util.Random;
/**
 * This program allows a user to enter their first and last name
 * and generate a random user id and default password.
 * 
 * @author Brian Drake
 * @version 9/14/11
 */

   public class UserID {

      private String firstName;

      private String lastName;

      private String userId;

      private String password;


      public UserID(String first, String last) {
         Random generator = new Random();

         firstName = first;

         lastName = last;

         userId = first.substring(0, 3) + last.substring(0, 3)
            + generator.nextInt(1) + (generator.nextInt(7) + 3)
            + generator.nextInt(10);

         password = Integer.toString(generator.nextInt(10) + generator.nextInt(10)
            + generator.nextInt(10) + generator.nextInt(10)
            + generator.nextInt(10) + generator.nextInt(10));

      } 

      public String getId() {
         return userId;
      }

      public String getPassword() {
         return password;
      }

      public boolean setPassword(String randomPass) {

         if (password.length() < 6 || password.length() > 6) {
            randomPass = password;

            return false;       
         }

         else {
            password = randomPass;
         }
         return true;
      }

      public void generateNewPassword() {

         Random generator = new Random();

         password = Integer.toString(generator.nextInt(10) + generator.nextInt(10)
            + generator.nextInt(10) + generator.nextInt(10)
            + generator.nextInt(10) + generator.nextInt(10));

      }

      public String toString(String first, String last) {
         String output = firstName + " " + lastName + "\n";
         output += userId + "\n";
         output += password;
         return output;
      }

   }

由于没有主要方法,它将无法运行

UserID的类定义中,您需要在创建对象时分配参数值(因为您没有创建任何参数构造函数)。

UserID obj=new UserID("firstName","secondName");

编辑:

除了UserID类,您还必须定义另一个包含入口点的类UserID ()方法。

public class TestMain
{
  public static void main(String []args)
   {
     UserID obj=new UserID("firstName","secondName");
     //Using obj reference variable, you can request to the object for any message.
     System.out.println(obj.getId() + " " + obj.getPassword());
   }
}

这不是程序。 这只是一个类,可能是程序的一部分。 当您尝试运行它时,您应该已经获得了NoSuchMethodException或类似的东西。

程序本质上是一个具有public static void main(String[] args)的类。 如果要使其独立运行,则需要添加一个(而不是仅由其他代码使用的组件)。 请注意,Java将调用此方法来运行您的程序,因此它还需要做一些有用的事情。 例如,创建一个UserID并显示它或其他内容。 :)

您可以创建UserID类的对象。 Java程序执行入口点是其main方法。

public static void main(String[] args){}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM