Java 根据命令提示符的输入打印星号

Java 根据命令提示符的输入打印星号,java,loops,command-prompt,args,Java,Loops,Command Prompt,Args,我分配了一个项目来打印星星的图案。我们假设取CMD中给定的一个数字,并让它打印出一个图案。至少我是这么理解的 以下是作业内容: 从命令行获取数字输入并生成正确的 星号和行数 例如: C:\java Stars 3 会产生, * ** *** 以下是我目前的代码: public class Stars1 { public static void main(String[] args) { int len = args.length;

我分配了一个项目来打印星星的图案。我们假设取CMD中给定的一个数字,并让它打印出一个图案。至少我是这么理解的


以下是作业内容:

从命令行获取数字输入并生成正确的 星号和行数

例如:

C:\java Stars 3 
会产生,

*
**
***

以下是我目前的代码:

public class Stars1
{
    public static void main(String[] args)
    {
         int len = args.length;

         if( len <= 0)
         {
             System.out.println(" ERROR: Please input a value of 1-5");
             System.exit(0);
         }  

        int j;
        for(int i = 0; i <= 4; i++)
        {
            for(j = 0; j <= i; j++)
                System.out.print("*");

            System.out.println("");


        }


    }
} 
他向我们展示的示例代码使用args.length回显通过命令提示符键入的内容。因此,如果我们键入
C:\javaechoitype,它就会键入。
它将打印出
I类型,It类型。

public static void main( String[] args ) //args["I", "type,", "it", "types."]
{
    int len = args.length; //len = 4; (see above comment)

    if( len == 0 ) //in case no arguments are entered
    {
        sopl( "\n\tUsage: java echo <args:String[]>" );
        System.exit( 0 );
    }

    sop( "\n\t" ); //print new line and tab

    for( int i = 0; i < len; i++ ) //start at 0, as long as i < 4, increment i after each loop
    {
        sop( args[i] + " " ); //print the arg: arg[0] = "I", arg[1] = "type,", etc..
    }

    sop( "\n\t" ); //print another new line and tab

    while( len > 0 ) sop( args[args.length - len--] + " " ); //same thing as for loop but going backwards and more confusing(just for the sake of using a while loop I assume). Changes the value of len

    sopl( "" ); //print tab
}
这是他告诉我们要看的代码:

public class echo
{
    public static void sopl( String str )
    {
        System.out.println( "\t" + str );
    }

    public static void sop( String str )
    {
        System.out.print( str );
    }





    public static void main( String[] args )
    {
        int len = args.length;

        if( len == 0 )
        {
            sopl( "\n\tUsage: java echo <args:String[]>" );
            System.exit( 0 );
        }

        sop( "\n\t" );

        for( int i = 0; i < len; i++ ) sop( args[i] + " " );

        sop( "\n\t" );

        while( len > 0 ) sop( args[args.length - len--] + " " );

        sopl( "" );
    }
公共类回音
{
公共静态void sopl(字符串str)
{
System.out.println(“\t”+str);
}
公共静态无效sop(字符串str)
{
系统输出打印(str);
}
公共静态void main(字符串[]args)
{
int len=args.length;
如果(len==0)
{
sopl(“\n\t页面:java echo”);
系统出口(0);
}
sop(“\n\t”);
对于(inti=0;i0)sop(args[args.length-len--]+“”);
sopl(“”);
}

如何使用args.length生成模式?我可以让它轻松生成模式,而不必从命令行获取输入。

我唯一能想到的方法是使用Integer.parseInt(字符串);我不确定它是否适用于args.length,除非args.length被设置为您想要的长度。

我唯一能想到的方法是使用Integer.parseInt(字符串);我不确定它是否适用于args.length,除非args.length被设置为您想要的长度。

我只想指出几点


在没有输入的情况下,我假设您正在更改
I中的
4
,只是想指出一些事情

如果没有输入,我假设您正在更改
I
公共类Stars1中的
4
{ 公共静态void main(字符串[]args) { int len=args.length; 如果(len
公共类开始1
{
公共静态void main(字符串[]args)
{
int len=args.length;
如果(len
公共类开始1
{
公共静态void main(字符串[]args)
{
System.out.println(“输入要打印的行数”);
int row=Integer.parseInt(args[0]);
int len=args.length;
如果(len
公共类开始1
{
公共静态void main(字符串[]args)
{
System.out.println(“输入要打印的行数”);
int row=Integer.parseInt(args[0]);
int len=args.length;

如果(len
args.length
为您提供了命令行参数的数量。请澄清一下……您的作业是否要求您使用args.length生成模式?或者它只是想从命令行获取输入并生成他告诉您要查看的代码格式不良>。它要求我们“从命令行获取数字输入,并生成正确的星号和行数。"我不确定他是否真的希望我们使用args.length。我假设,在您的示例中,他希望打印3颗星而不是1颗星,但他可能仍然希望您使用for循环遍历所有参数。
args.length
为您提供了命令行参数的数量。请澄清一下……是否需要y我们的作业要求您使用args.length来生成模式?或者它只是想从命令行获取输入并生成他告诉您要查看的代码格式不好>。它要求我们“从命令行获取数字输入并生成正确的星号和行数。”我不确定他是否真的希望我们使用args.length。我假设,在你的示例中,他希望打印3颗星而不是1颗星,但他可能仍然希望你使用for循环来遍历所有参数。啊,好的。谢谢。我在尝试如何将示例代码中使用的内容转换为是作业。啊,好的。谢谢。我在想如何将他在示例代码中使用的内容翻译成作业时遇到了麻烦。
for( int i = 0; i < len; i++ )
{
    sop( args[i] + " " );
}
public static void main( String[] args ) //args["I", "type,", "it", "types."]
{
    int len = args.length; //len = 4; (see above comment)

    if( len == 0 ) //in case no arguments are entered
    {
        sopl( "\n\tUsage: java echo <args:String[]>" );
        System.exit( 0 );
    }

    sop( "\n\t" ); //print new line and tab

    for( int i = 0; i < len; i++ ) //start at 0, as long as i < 4, increment i after each loop
    {
        sop( args[i] + " " ); //print the arg: arg[0] = "I", arg[1] = "type,", etc..
    }

    sop( "\n\t" ); //print another new line and tab

    while( len > 0 ) sop( args[args.length - len--] + " " ); //same thing as for loop but going backwards and more confusing(just for the sake of using a while loop I assume). Changes the value of len

    sopl( "" ); //print tab
}
public class Stars1
{
    public static void main(String[] args)
    {
         int len = args.length;

         if( len <= 0)
         {
             System.out.println(" ERROR: Please input a value of 1-5");
             System.exit(0);
         }  

        int j;
        for(int i = 0; i <=len; i++)
        {
            for(j = 0; j <= i; j++)
                System.out.print("*");

            System.out.println("");


        }


    }
} 
public class Stars1
{
    public static void main(String[] args)
    {
System.out.println("Enter no of rows to be printed");

   int  row= Integer.parseInt(args[0]);

          int len = args.length;

         if( len <= 0)
         {
             System.out.println(" ERROR: Please input a value of 1-5");
             System.exit(0);
         }  

        int j;
        for(int i = 0; i <= row; i++)
        {
            for(j = 0; j <= i; j++)
                System.out.print("*");

            System.out.println("");


        }


    }
}