Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打印一个字符串数组,但每次替换一个元素。JAVA_Java_Arrays_String - Fatal编程技术网

打印一个字符串数组,但每次替换一个元素。JAVA

打印一个字符串数组,但每次替换一个元素。JAVA,java,arrays,string,Java,Arrays,String,我该如何打印一个字符串数组多次,每次都用“-”替换其中一个单词? 如果数组有“Hello”“Hi”“Hey”,那么它应该打印 “-嗨,嗨” “你好-嘿” “你好,你好——” 这就是我目前所拥有的 public class SkipArgs { public static void main(String[] args) { int capacity = 1; capacity += args.length; String[] str = new Str

我该如何打印一个字符串数组多次,每次都用“-”替换其中一个单词? 如果数组有“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+" ");
}
}
公共类滑雪场
{
公共静态void main(字符串[]args)
{ 
int容量=1;
容量+=参数长度;
字符串[]str=新字符串[容量];

对于(int i=0;i而言,外部循环应控制未打印的数组元素。因此,它可能如下所示:

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();
}
for(int i=0;i0)系统输出打印(“”);
//现在打印第j个参数或“-”
如果(j==i){
系统输出打印(“-”);
}否则{
系统输出打印(args[j]);
}
}
System.out.println();
}

外部循环应控制未打印的数组元素。因此它可能看起来像这样:

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();
}
for(int i=0;i0)系统输出打印(“”);
//现在打印第j个参数或“-”
如果(j==i){
系统输出打印(“-”);
}否则{
系统输出打印(args[j]);
}
}
System.out.println();
}

让我们回顾一下您的代码思想

int capacity = 1;
capacity += args.length;
String[] str = new String[capacity];
这意味着您的
str
数组的长度为4,这不是您想要的长度。它应该是:

String[] str = new String[args.length];
现在,如果不想使用
args
,则需要将元素添加到
str

for (int i=0; i<args.length; i++)
{
    str[i] = args[i];
}

for(inti=0;i让我们回顾一下您的代码思想

int capacity = 1;
capacity += args.length;
String[] str = new String[capacity];
这意味着您的
str
数组的长度为4,这不是您想要的长度。它应该是:

String[] str = new String[args.length];
现在,如果不想使用
args
,则需要将元素添加到
str

for (int i=0; i<args.length; i++)
{
    str[i] = args[i];
}

for(int i=0;i的-按以下顺序排列

第一行:第一名 第二行:第二名 第三行:第三名


因此,根据序列,这可以通过将嵌套循环变量与其他变量相等来实现。类似地,我们可以实现任何其他逻辑

中的-按以下顺序排列

第一行:第一名 第二行:第二名 第三行:第三名


因此,根据系列,这可以通过将嵌套循环变量与其他变量相等来实现。类似地,我们可以实现任何其他逻辑

当前代码背后的基本原理是什么?您可以使用
String
class方法
String.split(“-”);
str[j]=str[j]。replaceAll(“*”,“-”);将整个单词替换为“-”嗯,你们应该看一下实际的代码并阅读。Split不会做任何事情,它已经在一个数组中了,所以为什么要把它放入一个字符串中进行拆分呢?它不在数组中。这又有什么意义呢?你会为了一个而破坏数组,它不会正确显示,因为它会是
-HiHey
然后
-Hey
和最后,
--
。在这个例子中,replace all是没有意义的,因为它不需要被替换。干杯们:)当前代码背后的原理是什么?您可以使用
String
类方法
String.split(“-”);
str[j]=str[j]。replaceAll(“*”,“-”);将整个单词替换为“-”嗯,你们应该看一下实际的代码并阅读。Split不会做任何事情,它已经在一个数组中了,所以为什么要把它放入一个字符串中进行拆分呢?它不在数组中。这又有什么意义呢?你会为了一个而破坏数组,它不会正确显示,因为它会是
-HiHey
然后
-Hey
和最后,
--
。在这个例子中,全部替换是没有意义的,因为它不需要被替换。干杯,伙计们:)