在Java中转换为字符串时,从StringArray的未使用空间中删除null
我正在处理一个Java编码问题,遇到了以下问题在Java中转换为字符串时,从StringArray的未使用空间中删除null,java,arrays,string,Java,Arrays,String,我正在处理一个Java编码问题,遇到了以下问题 输入:字符串->代码 需要输出:字符串->CCoCodCode 我的代码片段:(注意:在注释中,我已经编写了传递字符串时所期望的内容) 为什么null会被存储,尽管我已经减小了大小,如何删除它 注意:我需要使用数组来解决这个问题。我知道使用列表要容易得多。公共课堂答案{ public class Answer { public static String answer(String input){ StringBuilder sb =
输入:字符串->代码
需要输出:字符串->CCoCodCode
我的代码片段:(注意:在注释中,我已经编写了传递字符串时所期望的内容)
为什么null
会被存储,尽管我已经减小了大小,如何删除它
注意:我需要使用数组来解决这个问题。我知道使用列表要容易得多。公共课堂答案{
public class Answer {
public static String answer(String input){
StringBuilder sb = new StringBuilder(((input.length() + 1) * input.length()) / 2);
for (int i = 1; i <= input.length(); i++) {
sb.append(input.substring(0, i));
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(answer("Code"));
}
公共静态字符串应答(字符串输入){
StringBuilder sb=新的StringBuilder(((input.length()+1)*input.length())/2);
对于(int i=1;i公共类答案{
公共静态字符串应答(字符串输入){
StringBuilder sb=新的StringBuilder(((input.length()+1)*input.length())/2);
for(inti=1;iSize应该是字符串的长度。代码的长度是4。代码将生成{C,Co,Cod,Code}
public String stringSplosion(String str) { // string Say 'Code'
String join = "", values = "";
String gotIt = "";
int n = str.length(); // 4
String[] result = new String[n];
for (int i = 0; i < str.length(); i++) {
values = str.substring(i, i + 1);
join = join + values;
result[i] = join;
}
System.out.println(Arrays.toString(result));
for (String s : result) {
gotIt = gotIt + s;
}
return gotIt; // Expected output: CCoCodCode
}
publicstringsplosion(stringstr){//String说“code”
字符串join=“”,值=“”;
字符串gotIt=“”;
int n=str.length();//4
字符串[]结果=新字符串[n];
对于(int i=0;i
大小应为字符串的长度。代码的长度为4。代码将生成{C,Co,Cod,code}
public String stringSplosion(String str) { // string Say 'Code'
String join = "", values = "";
String gotIt = "";
int n = str.length(); // 4
String[] result = new String[n];
for (int i = 0; i < str.length(); i++) {
values = str.substring(i, i + 1);
join = join + values;
result[i] = join;
}
System.out.println(Arrays.toString(result));
for (String s : result) {
gotIt = gotIt + s;
}
return gotIt; // Expected output: CCoCodCode
}
publicstringsplosion(stringstr){//String说“code”
字符串join=“”,值=“”;
字符串gotIt=“”;
int n=str.length();//4
字符串[]结果=新字符串[n];
对于(int i=0;i
如果要保持代码的当前结构,请去掉第一个for循环。
并创建字符串[]数组=新字符串[n]
public static String stringSplosion(String str) { // string Say 'Code'
String join = "", values = "";
String gotIt = "";
int n = str.length(); // 4
String[] result = new String[n]; //you want your String array to contain 4 strings
for (int i = 0; i < str.length(); i++) {
values = str.substring(i, i + 1);
join = join + values;
result[i] = join;
}
for (String s : result) {
gotIt = gotIt + s;
}
return gotIt; // Expected output: CCoCodCode
}
publicstaticstringsplosion(stringstr){//String说'code'
字符串join=“”,值=“”;
字符串gotIt=“”;
int n=str.length();//4
字符串[]结果=新字符串[n];//您希望字符串数组包含4个字符串
对于(int i=0;i
如果要保持代码的当前结构,请去掉第一个for循环。
并创建字符串[]数组=新字符串[n]
public static String stringSplosion(String str) { // string Say 'Code'
String join = "", values = "";
String gotIt = "";
int n = str.length(); // 4
String[] result = new String[n]; //you want your String array to contain 4 strings
for (int i = 0; i < str.length(); i++) {
values = str.substring(i, i + 1);
join = join + values;
result[i] = join;
}
for (String s : result) {
gotIt = gotIt + s;
}
return gotIt; // Expected output: CCoCodCode
}
publicstaticstringsplosion(stringstr){//String说'code'
字符串join=“”,值=“”;
字符串gottit=“”;
int n=str.length();//4
字符串[]结果=新字符串[n];//您希望字符串数组包含4个字符串
对于(int i=0;i
不需要以下语句:
int size = 0;
for (int i = n; i >= 1; i--) {
size = size + n; // 4+3+2+1=10
}
您只需要将数组大小从
String[] result = new String[size];
到
使您的程序能够提供预期的输出。不需要以下语句:
int size = 0;
for (int i = n; i >= 1; i--) {
size = size + n; // 4+3+2+1=10
}
您只需要将数组大小从
String[] result = new String[size];
到
为您的程序提供预期的输出。如果我正确理解您的问题以打印模式,那么您可以使用以下代码
public String printPattern(String input){
//Holds the iteration value by index
int previous=0;
//It holds the result characters
String result=null;
StringBuilder strBuilder=new StringBuilder();
//first loop to iterate only till input string length
for(int i=0;i<input.length();i++){
//checking iteration lenght with input string length
if(previous<input.length()){
//incrementing iteration for reading characters from input string
previous++;
//main loop for previous iteration value check and iterate
for(int j=0;j<previous;j++){
//converting string to Character array
char a []=input.toCharArray();
//using string builder to build the string from characters
strBuilder.append((a[j]));
//setting the value to stringbuilder by converting it in string
result=strBuilder.toString();
}
}
}
return result;
公共字符串打印模式(字符串输入){
//按索引保存迭代值
int-previous=0;
//它保存结果字符
字符串结果=null;
StringBuilder strBuilder=新StringBuilder();
//仅迭代到输入字符串长度的第一个循环
对于(int i=0;i如果我正确理解您的问题以打印模式,那么您可以使用以下代码
public String printPattern(String input){
//Holds the iteration value by index
int previous=0;
//It holds the result characters
String result=null;
StringBuilder strBuilder=new StringBuilder();
//first loop to iterate only till input string length
for(int i=0;i<input.length();i++){
//checking iteration lenght with input string length
if(previous<input.length()){
//incrementing iteration for reading characters from input string
previous++;
//main loop for previous iteration value check and iterate
for(int j=0;j<previous;j++){
//converting string to Character array
char a []=input.toCharArray();
//using string builder to build the string from characters
strBuilder.append((a[j]));
//setting the value to stringbuilder by converting it in string
result=strBuilder.toString();
}
}
}
return result;
公共字符串打印模式(字符串输入){
//按索引保存迭代值
int-previous=0;
//它保存结果字符
字符串结果=null;
StringBuilder strBuilder=新StringBuilder();
//仅迭代到输入字符串长度的第一个循环
对于(inti=0;i),请学习如何输入代码。这并不难,可以缩进4个空格或使用{}
嵌入式编辑器中的按钮。对于由此带来的不便,我深表歉意。由于数组太大,因此大小为空?如果不是,为什么不只打印值null@JohnKane数组大小不大。我使用了for循环来精确获得我想要的结果的大小。感谢所有的答案。理解我在代码中的错误。请学习如何输入代码。这并不难,可以缩进4个空格或使用{}
嵌入式编辑器中的按钮。对于由此带来的不便,我深表歉意。由于数组太大,因此大小为空?如果不是,为什么不只打印值null@JohnKane数组大小不大。我使用了for循环来精确获得我想要的结果的大小。感谢所有答案。理解我在代码中的错误。