gpt4 book ai didi

java - 字符串连接作为字符数组(无库方法)

转载 作者:行者123 更新时间:2023-12-01 17:22:56 25 4
gpt4 key购买 nike

我想将2个字符串str1、str2的值分别存储到第3个字符串strContainer中(不使用库方法)。

我的算法是:
1、将str1和str2分别转换为字符数组charArray1和charArray2。
2. 计算计数器变量中两个字符数组的长度之和(charArray 和 charArray2 的长度之和)
3. 两个 char 数组(作为计数器)的总和相当于一个新的 char 数组 charContainer。
4. 迭代如下循环
charContainer[第i个索引] += charArray1[第i个索引];

charContainer[第i个索引] += charArray2[第i个索引];
5.将charContainer转换为字符串并显示为strContainer。


到目前为止我的代码:

public class StringConcat{
int counter; // counting the length of char arrays
String str1 = "FirstString";
String str2 = "SecondString";

//for counting the length of both char arrays
public int countingLength(String str){
char[] strToCharArray = str.toCharArray();
for(char temp : strToCharArray){
counter++;
}
}

//converting string into char array
char[] charArray1 = str1.tocharArray();
char[] charArray2 = str1.tocharArray();

//stores both char array
char[] charContainer=new char[counter];//how to take counter as an index value here

//for storing charArray1 into charContainer
for(int i=0; i<charContainer.length; i++) {

if(charArray1 != null){
charContainer[i] += charArray1[i];
} else
return charArray2;
}

//for storing charArray2 into charContainer
for(int i=0; i<charContainer.length; i++) {

if(charArray2 != null){
charContainer[i] += charArray1[i];
} else
return charArray1;
}

//converting charContainer char array into string strContainer.
String strContainer = new String(charContainer);
//alternative : String strContainer = String.valueOf(charContainer);

public static void main(String args[]){

/*Here i can call (As i'm not sure)
StringConcat obj1 = new StringConcat();
obj1.countingLength(str1);

StringConcat obj2 = new StringConcat();
obj2.countingLength(str2);
*/
System.out.println("String Container : " +strContainer);
}

}//end of the class

问题:
如何为字符串 str1 和 str2 调用countingLength() 方法?
如何将 charContainer 的索引值指定为计数器(两个 char 数组的总和)?

最佳答案

如何调用StringLengthCounter()方法?我看不到任何具有该名称的方法。很抱歉,但这不是这里的问题,问题是这甚至不是有效的代码。

我并不是有意严厉,但到处都有语法错误,而且程序逻辑在很多方面都是错误的。

请看一下下面的代码并尝试弄清楚它是如何工作的,我认为它可以满足您的要求。如果有不清楚的地方,请询问。

public class StringConcat{
public static String strcat(String str1, String str2){
//converting string into char array
char[] charArray1 = str1.toCharArray();
char[] charArray2 = str2.toCharArray();

int counter=charArray1.length+charArray2.length;

//stores both char array
char[] charContainer=new char[counter];

//for storing charArray1 into charContainer
int i=0;
for(; i<charArray1.length; i++) {
charContainer[i]=charArray1[i];
}
//for storing charArray2 into charContainer
for(int j=0; i<counter; j++,i++) {
charContainer[i]=charArray2[j];
}
//converting charContainer char array into string
return new String(charContainer);
}
public static void main(String args[]){
String str1 = "FirstString";
String str2 = "SecondString";
String strContainer = strcat(str1,str2);
System.out.println("String Container : " +strContainer);
}
}//end of the class

关于java - 字符串连接作为字符数组(无库方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17265781/

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