2013-09-24 79 views
0

我需要创建星号和百分号的计数,通过计数矩阵,按行交替。用户被要求输入数字和星号,百分号数量和行依赖于用户输入。创建计数通过计数矩阵

举例:如果 用户输入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(); 
    } 
    } 
} 
+1

检查行号是否是被二整除,并选择基础上的字符。 – chrylis

回答

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"); 
} 
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,但是)

0

print语句应该有条件地采取行动。

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