【发布时间】:2016-04-12 19:28:50
【问题描述】:
我的教授要求我们为一个流行的问题创建两个单独的 Java 类,您必须根据名字、姓氏和员工 ID 号构建员工电子邮件。
如果您想查看问题: Assignment
问题发生在子字符串中。我想我隐约知道为什么,但实际上我并不完全确定如何解决这个问题。
这是第一堂课:
public class EmployeeSchmidt
{
public String FirstName = "";
public String LastName = "";
public String EmID = "";
public String Email = "";
public EmployeeSchmidt(String FirstName, String LastName, String EmID)
{
this.FirstName = FirstName;
this.LastName = LastName;
this.EmID = EmID;
Generator();
}
public String getFirstName()
{
return FirstName;
}
public void setFirstName(String em)
{
FirstName = em;
}
public String getLastName()
{
return LastName;
}
public void setLastName(String em)
{
LastName = em;
}
public String getEmID()
{
return EmID;
}
public void setEmID(String em)
{
EmID = em;
}
public String getEmail()
{
return Email;
}
public void setEmail(String em)
{
Email = em;
}
String fName = (FirstName.substring(0,2));
String lName = (LastName.substring(0,4));
String eID = (EmID.substring(3,4));
public void Generator()
{
Email = (fName + lName + eID + "@initech.com");
}
}
还有二等:
import java.util.Scanner;
public class EmployeeInfo
{
public static void main(String[] args)
{
EmployeeSchmidt em1 = new EmployeeSchmidt("","","");
Scanner in = new Scanner (System.in);
System.out.println("Please enter your first name.");
em1.setFirstName(in.next());
System.out.println("Please enter your last name.");
em1.setLastName(in.next());
System.out.println("Please enter your 5-digit Employee ID.");
em1.setEmID(in.next());
em1.Generator();
System.out.println();
System.out.println(em1.getFirstName());
System.out.println(em1.getLastName());
System.out.println(em1.getEmID());
System.out.println("Your Employee Email is " + em1.getEmail());
}
}
这是我得到的错误:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.substring(String.java:1963)
at EmployeeSchmidt.<init>(EmployeeSchmidt.java:57)
at EmployeeInfo.main(EmployeeInfo.java:6)
扫描仪不是必需的,但如果我们能够做到,我们的教授会提供额外的学分。我完全迷路了。
【问题讨论】:
标签: constructor substring java.util.scanner jgrasp