如何使用for循环打印交叉的单词?

时间:2015-10-18 22:36:29

标签: java multidimensional-array

我试图在他们的共同信件上打印出两个字。我已经得到了第二个单词可以垂直打印,但我的第一个单词不会打印出它应该与第二个单词交叉的位置。

它打印如下:

li for li in l

这应该是这样的:

for _ in range n

这是我的代码,任何帮助都会很棒!

lotteryb
lotteryo
lotterya
lotteryt
lotteryb
lotteryo
lotterya
lotteryt
lotteryb
lotteryo
lotterya
lotteryt

1 个答案:

答案 0 :(得分:0)

一旦找到匹配的字符,就会在第二个单词中打印第一个单词和字符。请尝试以下

public class Assg2{
    public static void main(String[] args)
    {
        String w1 = args[0];
        String w2 = args[1];

        int numberOfCrosses = 0;

        for(int i=0; i < w1.length(); i++)
        {
            for(int j=0; j < w2.length(); j++)
            {
                if(w1.charAt(i) == w2.charAt(j))
                {
                    numberOfCrosses++;
                    printWords(w1,w2,i,j);
                }
            }
        }
        if(numberOfCrosses == 0)
        {
            System.out.println("Words do not cross ");
        }
   }

    private static void printWords(String w1, String w2, int index1, int index2) {
        for(int i=0;i<index2;i++){
            for(int j=0;j<index1;j++) {
                System.out.print(" ");
            }
            System.out.println(w2.charAt(i));
        }
        System.out.println(w1);
        for(int i=index2+1;i<w2.length();i++){
            for(int j=0;j<index1;j++) {
                System.out.print(" ");
            }
            System.out.println(w2.charAt(i));
        }
        System.out.println();
    }
}