我目前正在自学Java,我真的想学到很多东西。我让我的程序员朋友给我一些任务,他给了我这个。
如何根据输入的数字显示星号?
示例
Enter Number:7
*
**
***
*
我写了一段代码,但我仍然无法得到它。请举一些例子吗?
import java.util.Scanner;
public class Diamond {
public static void main(String[] args) {
Scanner input = new Scanner( System.in );
/*promt for input*/
System.out.println( "Enter number: " );
int how_many = input.nextInt();
for(int i = 1; i <= how_many; i++ ) {
for(int j = 1; j <= i; j++ ) {
System.out.print( "*" );
}
System.out.println("");
}
input.close();
}
}
非常感谢任何帮助或建议。
答案 0 :(得分:1)
你的代码很好。您只是缺少变量声明。可能你来自JavaScript
背景。在每个变量(how_many,i和j)之前声明int
并尝试编译&amp;再次执行它。
System.out.println( "Enter number: " );
int how_many = input.nextInt();
for(int i = 1; i <= how_many; i++ ) {
for(int j = 1; j <= i; j++ ) {
System.out.print( "*" );
}
System.out.println("");
}
另外。我假设您在所有内容之前声明了Scanner
对象
import java.util.*;
// etc, etc
Scanner input = new Scanner(System.in);
我想我理解你在问什么:
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println( "Enter number: " );
int how_many = input.nextInt();
outer:
for(int i = 1, count = 0; i <= how_many; i++ ) {
for(int j = 1; j <= i; j++ ) {
if(count >= how_many)
break outer;
System.out.print( "*" );
}
System.out.println("");
}
input.close();
}
答案 1 :(得分:1)
class Print{
public static void main(String argas []){
Scanner in=new Scanner(System.in);
System.out.println( "Enter number: " );
int how_many = in.nextInt();
int count=0;
for(int i = 1; i <= how_many; i++ )
{
for(int j = 1; j <= i; j++ )
{ **if(count==how_many)
return;**
System.out.print( "*" );
count++;
}
System.out.println("");
}
}
}
添加条件以检查*的数量是否小于输入。