Java 字符字符串的关闭错误为1
这个方法应该接收一个字符串,并将字符串作为字符输出,但是它的大小应该是字符串的两倍。示例:字符串为“PaRty” 报税表应为“P”、“P”、“a”、“a”、“R”、“R”、“t”、“t”、“Y”、“Y” 对于我的代码,当我运行测试时,它说数组在元素[]处不同;预期:但是: 我不知道这是错的,希望有人能帮我指出一些东西,让我理解,并使这项工作请?如果我差一点请解释一下Java 字符字符串的关闭错误为1,java,string,char,off-by-one,Java,String,Char,Off By One,这个方法应该接收一个字符串,并将字符串作为字符输出,但是它的大小应该是字符串的两倍。示例:字符串为“PaRty” 报税表应为“P”、“P”、“a”、“a”、“R”、“R”、“t”、“t”、“Y”、“Y” 对于我的代码,当我运行测试时,它说数组在元素[]处不同;预期:但是: 我不知道这是错的,希望有人能帮我指出一些东西,让我理解,并使这项工作请?如果我差一点请解释一下 //Implementing the second method: toExpandedArray, which works wi
//Implementing the second method: toExpandedArray, which works with
//a string and then returns chars of that string.
public static char[] toExpandedArray(String string)
{
//Initializing variable needed to char the string
char[] charArray = new char[string.length() * 2];
//The loop that will turn the string into characters.
for (int i = 0; i < string.length(); i++)
{
charArray[i] = string.charAt(i) ;
charArray[i+1] = charArray[i];
i++;
}
//Returning the characters as an array.
return charArray;
//实现第二种方法:toExpandedArray,它与
//一个字符串,然后返回该字符串的字符。
public static char[]toExpandedArray(字符串)
{
//初始化字符串字符所需的变量
char[]charArray=new char[string.length()*2];
//将字符串转换为字符的循环。
对于(int i=0;i
您的复制逻辑不正确。您需要将字母从索引i
复制到索引2*i
和2*i+1
。末尾的i++
是不必要的;它已经在for
循环中完成。更改
charArray[i] = string.charAt(i);
charArray[i+1] = charArray[i];
i++;
到
您的复制逻辑不正确。您需要将字母从索引
i
复制到索引2*i
和2*i+1
。末尾的i++
是不必要的;它已经在for
循环中完成。更改
charArray[i] = string.charAt(i);
charArray[i+1] = charArray[i];
i++;
到
是不正确的,应该是
string.charAt(i/2)
每个循环增加i两次
是不正确的,应该是
string.charAt(i/2)
每个循环增加i两次。谢谢!之所以使用2*i,是因为前面的字符被初始化为string.length*2?这样
0
处的字符被复制到0
和1
,1
处的字符被复制到2
和3
,2
处的字符被复制到c点击4
和5
,依此类推。谢谢!之所以使用2*i是因为前面的字符被初始化为string.length*2?这样0
处的字符被复制到0
和1
,1
处的字符被复制到2
和3
处的字符2被复制到4
和5
,依此类推。