我需要创建一个按行计算的星号和百分号的逐个数字矩阵。要求用户输入数字,星号,百分号和行数取决于用户输入。
实施例: 如果用户输入为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();
}
}
}
答案 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");
}