我已经指定了一个打印星星图案的项目。我们假设在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:\ java Echo I type, it types.
它将打印出I type, it types.
以下是他告诉我们的代码:
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( "" );
}
如何使用args.length生成模式?我可以轻松地生成模式而无需从命令行获取输入。
答案 0 :(得分:1)
我能想到的唯一方法就是使用Integer.parseInt(String);我不确定它是否适用于args.length,除非将args.length设为你想要的长度。
答案 1 :(得分:1)
只是指出一些事情......
如果没有输入,我假设您正在更改4
中的i <= 4
以控制您正在打印的星数。
args.length
获取String
数组args[]
的长度,使用C:\java Stars 3
的{{1}}将为1
。
请注意他的示例代码如何使用args[i]
for( int i = 0; i < len; i++ )
{
sop( args[i] + " " );
}
i
是一个int
,这就是他在args[]
更多关于描述他的代码......
您致电C:\ java Echo I type, it types.
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
}
答案 2 :(得分:1)
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("");
}
}
}
答案 3 :(得分:1)
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("");
}
}
}