Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有常量变量的For()循环为';不打印任何输出_Java_Ascii Art - Fatal编程技术网

Java 带有常量变量的For()循环为';不打印任何输出

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;

问题是没有输出,没有额外的println()。这很奇怪,因为在没有静态
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)
with
i更正。此程序不打印任何内容。因此问题中显示的输出不是此程序的输出。谢谢。仅空行,请确认