创建按计数矩阵

时间:2013-09-24 22:46:40

标签: java

我需要创建一个按行计算的星号和百分号的逐个数字矩阵。要求用户输入数字,星号,百分号和行数取决于用户输入。

实施例: 如果用户输入为5,则输出将如下所示......

* * * * *
% % % % %
* * * * *
% % % % %
* * * * *

我正在尝试使用for循环并对其进行编程,以便打印出5个星号宽5个高,从而形成一个小方块,但我不知道如何将每个其他行打印出来百分号。

到目前为止,这是我的代码:我的问题是7c。

import java.util.Scanner;
public class Project1
{
   public static void main(String[] args)
   {
   System.out.println("************** Question 1 *************************\n");
   System.out.println("*\n");
   System.out.println("***************************************************\n");
   System.out.println("************** Question 2 *************************\n");
   char perc = '%';
   char ast = '*';
   System.out.println(ast+"\n");
   System.out.println("***************************************************\n");
   System.out.println("************** Question 3 *************************\n");
   for (int i = 0; i<=9; i++)
   {
      System.out.print(ast);
   }
   System.out.println("\n");
   System.out.println("***************************************************");
   System.out.println();
   System.out.println("************** Question 4 *************************");
   System.out.println();
   for (int i =0; i<=9; i++)
   {
       System.out.println(ast);
   }
   System.out.println();
   System.out.println("***************************************************");
   System.out.println();
   System.out.println("************** Question 5 *************************");
   Scanner keyboardInput = new Scanner(System.in);
   System.out.println("Please enter a positive number :");
   int count = keyboardInput.nextInt();
   for (int i=0; i<=count;i++)
   {
      System.out.print(ast);
   }
   System.out.println("\n");
   System.out.println("***************************************************\n");
   System.out.println("************** Question 6 *************************\n");
   for (int i=1;i<=count;i++)
   {
      System.out.print(ast);
      if (i%5==0)
      {
         System.out.println();
      }
   }   
   System.out.println();
   System.out.println();
   System.out.println("***************************************************\n");
   System.out.println("************** Question 7a ************************\n");  
   System.out.println("***************************************************\n");
   System.out.println("************** Question 7b ************************\n");
   for (int h=0;h<count;h++)
   {
      for (int w=0;w<count;w++)
      {
          System.out.print(ast);
      }
      System.out.println();
   }
   System.out.println(); 
   System.out.println("***************************************************\n");
   System.out.println("************** Question 7c ************************\n");
   for (int h=0; h<count; h++)
   {
      for(int w=0; w<count; w++)
      {
         System.out.print(ast);
      }
      System.out.println();
   }
   }
}

3 个答案:

答案 0 :(得分:0)

模数运算符和三元表达式形成了一个共同的,强大的团队,如下所示:

String sym = (i % 2) ? "%" : "*";

您的代码可能类似于:

for(int i=0; i<count; i++)
{
    String sym = (i % 2) = "%" : "*";
    for(j=0; j<count; j++)
    {
        // Up to you
    }
}

char可能是sym更合适的类型,但是)

答案 1 :(得分:0)

印刷声明应该有条件地行动。

 for (int i = 0; i<= count; i++)
   {
     if(i%2 == 0)
         System.out.print(ast);
     else
       System.out.print(perc );
   }

答案 2 :(得分:0)

java pseudo code
---------------------
for(int i=0;i<=n;i++)
{

String x;
if(i%2==0)
x="*";
else
x="%"

for(int i=0;i<=n;i++)
{
System.out.println(x+"\t");
}
System.out.println("\n");
}