我如何多次打印出一个字符串数组,每次用“ - ”替换其中一个单词? 如果数组有“Hello”“Hi”“Hey”那么它应该打印
“ - 嗨嘿”
“你好 - 嘿”
“你好嗨 - ”
这是我到目前为止所拥有的
public class SkipArgs
{
public static void main(String[] args)
{
int capacity = 1;
capacity += args.length;
String[] str = new String[capacity];
for(int i=0; i<args.length; i++)
{
for (int j=0; j<args.length; j++)
{str[j] = args[j];
printExceptOne(str[j], i);
}
}
}
public static void printExceptOne(String str, int j)
{
System.out.print(str+" ");
}
}
我不知道如何更换“ - ”
答案 0 :(得分:0)
外部循环应该控制不打印哪个数组元素。所以它可能看起来像这样:
for (int i = 0; i < args.length; i++) {
for (int j = 0; j < args.length; j++) {
// first print a separator if not the first element on the line
if (j > 0) System.out.print(" ");
// now print either the j-th arg or a "-"
if (j == i) {
System.out.print("-");
} else {
System.out.print(args[j]);
}
}
System.out.println();
}
答案 1 :(得分:0)
让我们回顾你的代码思想
int capacity = 1;
capacity += args.length;
String[] str = new String[capacity];
这意味着您的str
数组的长度为4,即 NOT 您想要的长度。它应该只是:
String[] str = new String[args.length];
现在,如果您不想使用args
,则需要向str
添加元素:
for (int i=0; i<args.length; i++)
{
str[i] = args[i];
}
现在我们制作了数组,您可以执行以下操作:
String temp = "";
for (int i=0; i<str.length; i++)
{
temp = "";
for (int j=0; j<str.length; j++)
{
if (i == j)
{
temp = temp + "-";
}
else
{
temp = temp + str[j];
}
}
System.out.println(temp);
}
答案 2 :(得分:0)
- 按以下顺序进入
第一行:第一名 第二行:第二名 第三行:第三名
所以基于这个系列,可以通过将嵌套循环变量等同于其他建议来完成。类似我们可以实现任何其他逻辑