gpt4 book ai didi

java - 逐个计数矩阵。循环结构的制作方法

转载 作者:行者123 更新时间:2023-12-01 14:04:46 24 4
gpt4 key购买 nike

我需要创建一个逐个计数的矩阵,内部有星号,周边有百分号。系统会要求用户输入一个数字,星号、百分号和行的数量取决于用户输入。

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

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

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

我已经在 7c 下完成了一段类似的代码。会不会很相似?我不知道如何用百分号来界定它。

这是到目前为止我的代码。 7天以来我还没有做任何事情,因为我不知道从哪里开始。我知道我会做一个循环,但我不确定如何开始它。我已将代码放入其中,以便您可以看到我的变量和其他必要的信息。谢谢!

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 i=0;i<=count;i++)
{
String x;
if(i%2==0)
x="*";
else
x="%";
for(int w=0;w<count;w++)
{
System.out.print(x);
}
System.out.println();
}
System.out.println();
System.out.println("***************************************************\n");
System.out.println("************** Question 7d ************************\n");
System.out.println("***************************************************\n");
}
}

最佳答案

您需要特殊情况打印第一行和最后一行,并打印每行中的第一个和最后一个字符。该算法将是:

  1. 您打印一行 count 个百分比。
  2. 您打印 count-2 “混合”行。 (count-2 表示第一行和最后一行。)
  3. 打印最后一行百分比。

要打印“混合”行,您的方法将类似:

  1. 打印百分之一。
  2. 打印 count-2 个星号。 (count-2 见上文)
  3. 打印最终百分比。

最好使用 printFullRow()printMixedRow() 等辅助函数。 (这可能是作业应该引导您的地方。)一般来说,使用更多的辅助函数也是一个好主意。

关于java - 逐个计数矩阵。循环结构的制作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18993755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com