字符串索引超出范围

时间:2016-11-17 21:38:57

标签: java string netbeans

当我在NetBeans中编辑代码时,它没有显示任何错误,但是,当我运行代码并进入程序请求客户端名称并验证它的部分时,NetBeans会返回错误。

代码应该捕获客户端的名称并对其进行验证。验证要求仅限于长度不得超过20个字符。 如果客户端的名称超过20个字符,则它将请求用户重新输入名称,直到其符合验证标准。 满足条件后,该方法将名称返回给主类。

我遇到的问题是,当代码运行时,它会向用户显示一条消息,询问客户端的名称,然后立即转到下一个方法而不允许用户输入任何内容。

以下是代码的副本:

public static String getClientName()
{
    System.out.print("\nPlease enter the client name (20 characters max including spaces): ");
    String input = keyb.nextLine();
    int clientNameLength = input.length();

    while (clientNameLength > 20)
    {
        System.out.println("You have exceeded the maximum number of characters allowed.");
        System.out.print("Please re-enter the client name (20 characters max including spaces)");
        input = keyb.nextLine();
        clientNameLength = input.length();
    }
    return input;
}

输出:

小工具保护策略管理器

请从以下菜单中选择一个选项:

  1. 输入新政策
  2. 显示政策摘要
  3. 显示所选月份的政策摘要
  4. 查找并显示政策
  5. 退出
  6. 请输入您需要的选项编号:1

    请输入客户名称(最多20个字符,包括空格):

    请输入政策参考号:

0 个答案:

没有答案