使用创建createID的类和对象

时间:2016-02-06 07:28:33

标签: java

我正在做这个项目的帮助。它要求我,“提示并读取用户的名字和姓氏(单独)。然后打印一个由用户名字的第一个字母组成的字符串,后跟用户姓氏的前五个字符。假设姓氏至少五个字母“​​。 如何纠正错误并为测试1获得所需的输出?另外,我做错了什么?Test 1 Desired output[Test 2 desired output] 1输出

   class CreateID {

public static void main(String[] args) {
    // TODO Auto-generated method stub
  String id=("Clare");
  String Ids1, Ids2, Ids3;


  Ids1=id.concat(" Johnson");
  System.out.println(Ids1);
  Ids2=id.substring(0,6-10);

}

}

3 个答案:

答案 0 :(得分:1)

首先,获取用户的名字和姓氏。您可以使用java.util.Scanner类轻松完成。

假设名字和姓氏存储在String变量firstNamelastName中,请使用firstName.substring(0, 1)获取名字中的第一个字符。要获取用户姓氏的前五个字符,请使用lastName.substring(0, 5)最终结果将是这些结果的连接,可以使用+运算符获得。

答案 1 :(得分:0)

String是不可变类。因此,每次返回新的String对象时都使用String方法。

  

所以不使用id.substring(..),而是使用IDs1.substring(..)然后你就不会得到StringIndexOutOfBound Exception

答案 2 :(得分:0)

为了解释你所看到的异常,它是由这一行引起的:

Ids2=id.substring(0,6-10);

评估为

Ids2=id.substring(0,-4);

因为它将6-10计算为算术运算,即-4。 java中的索引从零开始增加,因此它们必须是0或正数。有关substring

的详细信息,请参阅文档
相关问题