如何在不使用循环的情况下在jgrasp中重复字符串

时间:2015-04-23 02:50:31

标签: java loops jgrasp

我无法找到一种方法让我以一种看起来像

的方式重复
xxxxxxxx
xxxxxxxx
xxxxxxxx
xxxxxxxx
xxxxxxxx
xxxxxxxx
xxxxxxxx
xxxxxxxx
import java.util.Scanner;
public class Square
{
    public static void main (String [] args)
    {
        Scanner kb = new Scanner (System.in);
        System.out.print("Enter a positive integer no greater than 15: ");
        double square= kb.nextDouble();
        double k=1;
        String i= "";
        while (k<square+1)
        {
            k++;
            i=i+"X";
        }
    }
}

最终输出必须是方形类型形式中的字母X,如果您为方形变量输入8,则其中8为8,向下为8。 我知道这样做的结果是错的,我只是不知道热,使它看起来像上面。 此输出类似于

x
xx
xxx
xxxx
xxxxx
xxxxxx
xxxxxxx
xxxxxxxx

如果我使用8作为方形

2 个答案:

答案 0 :(得分:0)

使用第二个循环。在第一个循环中构造一个字符串,并在第二个循环中重复打印。或者将一个循环嵌套在另一个循环中,并使用内部循环打印字符,使用外部循环打印字符。

答案 1 :(得分:0)

您遇到的问题是您正在运行while循环并在每次迭代时递增k的值,直到达到输入值。

这个问题是第一次迭代k对于第一次迭代将是1,这意味着它只会打印出1 X.下一次迭代它只打印2 X,再次因为你每次增加k 1时间。基于k的while循环。多数民众赞成你如何设置它。

你可以做到这一点的一种方法是使用2个嵌套循环。 如果输入= 8,

  for(int i = 0; i<input; i++){
     System.out.println();        // <----- This just jumps to next line
      for(int k = 0; k<input; k++){
         System.out.print("X");

      }     
  }

输出

XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX