gpt4 book ai didi

java - .subString 方法无法正常工作,Java

转载 作者:行者123 更新时间:2023-11-30 06:32:11 26 4
gpt4 key购买 nike

我正在创建一个简单的程序来将二进制数转换为十六进制数,而无需使用 Java 提供的方法来执行此操作。我已经有了我的大部分代码,我只是在使用“拆分字符串”方法时遇到了问题。

基本上我想用这个方法做的就是

1)取一个字符串(二进制数)

2) 创建一个字符串数组来保存数字的“分组”

3) 将二进制数分成4位一组(例如10011101 = 1001, 1101)

4) 返回分组数组

但是,当使用我的方法时,它总是只需要 3 作为我的“分组”数组中的第一个元素。 (例如应该是“1001”,但只输入“100”)。我在这里做错了什么?

public String[] splitIntoFours (String toSplit) {
int stringPart = 4;
int arraySize = toSplit.length() / 4;
String[] groupings = new String[arraySize];
for (int iterator = 0; (iterator * stringPart) < toSplit.length(); iterator++){
//If statement to deal with the inital case of the iterator being 0,
//where this algorithm only takes the first 3 numbers instead of a
//sequence of 4 numbers.

int start = iterator * stringPart;
int end = start + stringPart;
if (end > toSplit.length()) {
end = toSplit.length();
}
groupings[iterator] = toSplit.substring(start, end);
}
return groupings;
}

最佳答案

请记住,substring 不会返回由 end 指示的索引处的字符。它返回 end-1。

Javadoc并提取

公共(public)字符串子串(int beginIndex, int endIndex)

返回一个新字符串,它是该字符串的子字符串。子字符串从指定的 beginIndex 开始,延伸到索引 endIndex - 1 处的字符。因此子字符串的长度为 endIndex-beginIndex。

例子:

“汉堡包”.substring(4, 8) 返回“敦促”

“微笑”.substring(1, 5) 返回“英里”

关于java - .subString 方法无法正常工作,Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9036550/

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