Java 带有常量变量的For()循环为';不打印任何输出
问题是没有输出,没有额外的println()。这很奇怪,因为在没有静态Java 带有常量变量的For()循环为';不打印任何输出,java,ascii-art,Java,Ascii Art,问题是没有输出,没有额外的println()。这很奇怪,因为在没有静态SIZEvar的情况下进行编程,效果很好 public class SlashFigure2 { public static final int SIZE = 4; public static void main(String[] args) { for(int i = 1; i <= SIZE; i++) { for(int j = 1;
SIZE
var的情况下进行编程,效果很好
public class SlashFigure2
{
public static final int SIZE = 4;
public static void main(String[] args)
{
for(int i = 1; i <= SIZE; i++)
{
for(int j = 1; j <= 2 * i - (2 * SIZE + 2); j++)
{
System.out.print("\\");
}
for(int j = 1; j <= -4 * i + (-4 * SIZE + 2); j++)
{
System.out.print("!");
}
for(int j = 1; j <= 2 * i - (2 * SIZE + 2); j++)
{
System.out.print("/");
}
System.out.println();
}
}
}
编辑:
编辑2:
该网站是practiceit.csu.washington.edu
以下是问题的措辞:
将上一练习中的DollarFigure程序修改为
一个名为DollarFigure2的新程序使用全局常量作为
数字的高度。(您可能需要先创建循环表。)
以前的输出使用了7的恒定高度。下面的输出使用
3(左)和5(右)的恒定大小
(您必须仅使用一个公共静态final来解决此问题
常量,而不是多个常量;其值必须在
(此问题中描述的方式。)
只需这样做:
if (i != SIZE) {
System.out.println();
}
因为在上一次迭代中,i
将等于SIZE
,在这种情况下,您希望跳过println()
更新
从注释和图像中可以清楚地看出,您不应该将大小定义为常数,显然您应该能够将n
作为参数传递给您的程序,它不是硬编码的值。检查您一直引用的“站点”的规则,输入应该如何接收?只需执行以下操作:
if (i != SIZE) {
System.out.println();
}
因为在上一次迭代中,i
将等于SIZE
,在这种情况下,您希望跳过println()
更新
从注释和图像中可以清楚地看出,您不应该将大小定义为常数,显然您应该能够将n
作为参数传递给您的程序,它不是硬编码的值。检查您一直引用的“站点”的规则,输入应该如何接收?您可以在代码中进行此更改以使其工作。当i
等于大小时,您不应该执行该语句
if(i<SIZE){
System.out.println();
}
if(i您可以对代码进行此更改以使其正常工作。当i
等于SIZE
if(i<SIZE){
System.out.println();
}
如果(i有点Jeopardy以通过算法找到您想要解决的实际问题/任务,请打印一个特定的ASCII艺术,仅由一个常量行大小表示(例如,如所附图像上所示的4或6)
测试和样本输出
派生规范
绘制一个仅在高度上变化的特定图形:
- 仅传递单个参数:要绘制的ASCII艺术的行
- 要绘制的图形应类似于向下箭头
- 以左右双斜杠为边框,即分别为
\\\
的/
- 第一行没有边框/斜线
- 行的内部/其余部分填充感叹号
!!
- 最后一行内至少有2个感叹号
!!
单参数Java方法:ROWS
private static void drawsciart(int行){
int列=(第1行)*4+2;
对于(int i=1;i稍Jeopardy,通过算法打印特定的ASCII艺术,仅以恒定的行大小表示(例如,如附图所示的4或6)
测试和样本输出
派生规范
绘制一个仅在高度上变化的特定图形:
- 仅传递单个参数:要绘制的ASCII艺术的行
- 要绘制的图形应类似于向下箭头
- 以左右双斜杠为边框,即分别为
\\\
的/
- 第一行没有边框/斜线
- 行的内部/其余部分填充感叹号
!!
- 最后一行内至少有2个感叹号
!!
单参数Java方法:ROWS
private static void drawsciart(int行){
int列=(第1行)*4+2;
对于(int i=1;i我找到了答案!结果是对于“\”和“/”字符,我根本不需要使用(x*SIZE+y)公式。它们都需要正则公式,而“!”是唯一需要大小公式的字符
公共类SlashFigure2
{
公共静态最终整数大小=4;
//无论值大小如何,程序都可以运行
公共静态void main(字符串[]args)
{
对于(int i=1;i我找到了答案!结果是对于“\”和“/”字符,我根本不需要使用(x*SIZE+y)公式。它们都需要正则公式,而“!”是唯一需要大小公式的字符
公共类SlashFigure2
{
公共静态最终整数大小=4;
//无论值大小如何,程序都可以运行
公共静态void main(字符串[]args)
{
为了(int i=1;i站点仍然标记我错了。我认为你是100%对的,但我不确定为什么它仍然说我的代码正在创建一个额外的println…站点仍然标记我错了。我认为你是100%对的,但我不确定为什么它仍然说我的代码正在创建一个额外的println…你应该回答这个问题,以便它包括你编写的低一个答案。屏幕截图显示:预期输出由4行组成,您的程序只打印1行(或者甚至0,这很难说)。请再次阅读说明。也许您应该将输出写入文件,而不是System.out
。它真的会打印空行吗?2*i-(2*SIZE+2)
withi更正。此程序不打印任何内容。因此问题中显示的输出不是此程序的输出。谢谢。仅空行,请确认