Java 有没有办法让每一张照片都有不同的图案

Java 有没有办法让每一张照片都有不同的图案,java,string,char,Java,String,Char,我如何在这个图案上做一个循环,使图案变成这样(X将取代ux) 我知道我可以为每个循环定义n=0和n+2,然后增加2,但最终会出现这样的问题 XX_XXXXXXXXXX XX_X_XXXXXXXX XX_X_X_XXXXXX 如果您有任何建议或帮助,我们将不胜感激。您应该执行以下操作,以使您的输出符合预期: 使用循环变量i代替块变量n作为数组索引。这可确保在每一步上移动“的位置 打印每个步骤后,将数组中的'放回'X'。这使得“移动而不是重复 我故意不给出任何代码,因为问题更像是培

我如何在这个图案上做一个循环,使图案变成这样(X将取代ux) 我知道我可以为每个循环定义n=0和n+2,然后增加2,但最终会出现这样的问题

XX_XXXXXXXXXX    
XX_X_XXXXXXXX    
XX_X_X_XXXXXX

如果您有任何建议或帮助,我们将不胜感激。

您应该执行以下操作,以使您的输出符合预期:

  • 使用循环变量
    i
    代替块变量
    n
    作为数组索引。这可确保在每一步上移动
    的位置
  • 打印每个步骤后,将数组中的
    '
    放回
    'X'
    。这使得
    移动而不是重复

  • 我故意不给出任何代码,因为问题更像是培训任务,找出正确的指令应该可以做到这一点。

    您应该执行以下操作,以使输出看起来像预期的那样:

  • 使用循环变量
    i
    代替块变量
    n
    作为数组索引。这可确保在每一步上移动
    的位置
  • 打印每个步骤后,将数组中的
    '
    放回
    'X'
    。这使得
    移动而不是重复

  • 我故意不给出任何代码,因为这个问题更像是训练任务,而找出正确的指令应该可以做到这一点。

    通过使用整数的
    列表,您可以轻松地添加和保留您想要的
    '
    字符。每次主循环运行时,您都可以通过嵌套循环访问所需的位置。最后,添加下一个应在下次使用的
    '
    位置

    import java.util.ArrayList;
    import java.util.List;
    
    public static void main(String[] args) {
        String a = "XXXXXXXXXXXXX";
        char[]abc = a.toCharArray();
    
        List<Integer> placeHolders = new ArrayList<>();
        placeHolders.add(2);
        for(int i=0;i<3;i++)
        {
            for(int j = 0; j < placeHolders.size(); j++)
                abc[placeHolders.get(j)]='_';
    
            System.out.println(abc);
    
            //Accessing the latest record of the list
            placeHolders.add(placeHolders.get(placeHolders.size()-1)+2);
    
        }
    }
    
    import java.util.ArrayList;
    导入java.util.List;
    公共静态void main(字符串[]args){
    字符串a=“xxxxxxxxxxxx”;
    char[]abc=a.toCharArray();
    列表占位符=新的ArrayList();
    占位符。添加(2);
    
    对于(int i=0;i您可以通过使用整数的
    列表
    轻松添加和保留您想要的
    '
    字符。每次主循环运行时,您都可以通过嵌套循环访问所需的位置。最后,您添加下一个
    '
    位置,该位置应在下次使用

    import java.util.ArrayList;
    import java.util.List;
    
    public static void main(String[] args) {
        String a = "XXXXXXXXXXXXX";
        char[]abc = a.toCharArray();
    
        List<Integer> placeHolders = new ArrayList<>();
        placeHolders.add(2);
        for(int i=0;i<3;i++)
        {
            for(int j = 0; j < placeHolders.size(); j++)
                abc[placeHolders.get(j)]='_';
    
            System.out.println(abc);
    
            //Accessing the latest record of the list
            placeHolders.add(placeHolders.get(placeHolders.size()-1)+2);
    
        }
    }
    
    import java.util.ArrayList;
    导入java.util.List;
    公共静态void main(字符串[]args){
    字符串a=“xxxxxxxxxxxx”;
    char[]abc=a.toCharArray();
    列表占位符=新的ArrayList();
    占位符。添加(2);
    对于(int i=0;iHINTS:1),您需要在循环中每次将
    abc
    刷新回所有X,而不是在循环之前仅刷新一次;2)下划线将位于位置
    i+2
    提示:1)您需要在循环中每次将
    abc
    刷新回所有X,而不仅仅是循环前一次;2)下划线将位于位置
    i+2
    import java.util.ArrayList;
    import java.util.List;
    
    public static void main(String[] args) {
        String a = "XXXXXXXXXXXXX";
        char[]abc = a.toCharArray();
    
        List<Integer> placeHolders = new ArrayList<>();
        placeHolders.add(2);
        for(int i=0;i<3;i++)
        {
            for(int j = 0; j < placeHolders.size(); j++)
                abc[placeHolders.get(j)]='_';
    
            System.out.println(abc);
    
            //Accessing the latest record of the list
            placeHolders.add(placeHolders.get(placeHolders.size()-1)+2);
    
        }
    }