java - 为什么没有输出显示?在这里,我试图在交替位置显示两个字符串
问题描述
在下面的代码中,我试图在一个 char 数组中的备用位置打印两个字符串,其中第二个字符串应该以相反的顺序存储。例如:str1="happy" str2= "sadly" arr="hyalpdpays"
,其中两个字符串的大小应相同。
import java.util.*;
//*class Main declaration done here*
class Main{
public static void main (String args[])
{
char[] arr=new char[100];
int flen=0;
Scanner sc=new Scanner(System.in);
String str1=sc.nextLine();
String str2=sc.nextLine();
if(str1.length()==str2.length())
{
flen = str1.length()+str2.length();
for(int i=0, j=flen, k=0; i<(flen/2) && j>=0 && k<flen; i=i+2 , j=j-2, k++)
{
arr[k]=str1.charAt(i);
k=k+1;
arr[k]=str2.charAt(i);
}
}
for(int i=0; i<flen; i++)
{
System.out.println(arr[i]);
}
}
}
解决方案
我对您的代码进行了一些更改,这对我来说很好
if(str1.length()==str2.length())
{
flen = str1.length()+str2.length();
int lastIndex = (str2.length()-1);
for(int i=0, j=lastIndex, k=0; i<flen; j--, k++,i++)
{
arr[i]=str1.charAt(k);
i++;
arr[i]=str2.charAt(j);
}
}
for(int i=0; i<flen; i++)
{
System.out.print(arr[i]);
}
所以它将从字符串 1 的索引 0 开始,然后是字符串 2 的最后一个索引,依此类推。输出将是你提到的“hyalpdpays”。
推荐阅读
- python - 无法安装 python 包并在 GitHub 操作中使用它
- javascript - 为什么 JS 会允许声明这个函数?
- node.js - 带有 findByIdAndDelete 的 Mongoose 前置中间件
- ffmpeg - Ffmpeg 多重裁剪
- database - 关于mongodb投影运算符$的问题
- android - Android生成的BuildConfig在子模块包中,不在app模块中
- python - 在 Python 中打开文件并执行文件输入
- javascript - Google Script 中的自定义函数在下载为 Microsoft Excel 时不起作用
- c++ - 尝试将数组大小调整为 -1
- html - aria-expanded 仅用于“点击”交互,还是也可以用于“焦点”?