[英]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.