gpt4 book ai didi

java - 掩码 - 带星号的地址(星号) - 如果数组长度为 1?

转载 作者:太空宇宙 更新时间:2023-11-04 09:14:04 25 4
gpt4 key购买 nike

对于这种情况,我有一个数组超出范围。

  1. 如果我这样做:

    字符串地址 =“100 Point St Apt B”

    它也应该被屏蔽:100 Po*** St Apt *

  2. 如果我这样做:

    字符串地址 =“100 Point St Apt 132”

    它也被屏蔽了:100 Po*** St Apt ***

有人可以告诉我我在这里做错了什么吗?谢谢!!

public String mask(String address) {
String[] splitAddress = address.split(" ");
StringBuilder stringBuilder = new StringBuilder();
String maskedAddress = "";

String streetNum = splitAddress[0];
stringBuilder.append(streetNum + " ");



for (int i = 1; i < splitAddress.length; i++) {
String splitFirstTwoCharacters = splitAddress[i].substring(0, 2);
String remainingCharactersOfAddress = splitAddress[i].substring(2);
String maskAddress = remainingCharactersOfAddress.replaceAll(".", "*");
maskedAddress = stringBuilder.append(splitFirstTwoCharacters).append(maskAddress + " ").toString().trim();
}
return maskedAddress;
}

最佳答案

当您执行 splitAddress[i].substring(0, 2) 时,splitAddress 部分之一是 B,它的 endIndex 不为 2。因此它是越界的。

关于java - 掩码 - 带星号的地址(星号) - 如果数组长度为 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59293645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com