java中的三角形数字

时间:2013-09-29 21:59:28

标签: java numbers

我是Java的新手,现在我想更好地学习循环。我做了一些例子,但我不知道如何做一个看起来像这样的三角形:  对于n = 6:

111111 
22222
3333
444
55
6

我的代码到现在为止:

class Pyramid
{
public static void main (String[] args)
{
   int i,n=9,j; 
   for(i=1;i<=n;i++)
   {
       for(j=1;j<=i;j++)  {          
System.out.print(i); }      
System.out.print("\n");        
}}}

但我设法做到这一点看起来像这样:

1
22
333
4444
55555
666666

如何按相反顺序制作?

5 个答案:

答案 0 :(得分:4)

您的问题是,您的外部for循环从6转到1,因此您需要撤销该内容。

更改

for(i=n;i>=1;i--) {

for(i = 1; i <= n; i++) { 

进一步说明,以便了解for循环中发生的事情:

for循环对三个子句进行操作:启动的位置,循环运行的条件以及运行后的操作。

------v
for(i = 1; i <= n; i++) {

这是作业。您将变量设置为数字,这是循环开始的位置。在这种情况下,我们从i = 1开始,因为我们只想在第一行打印一个1。在第三个子句中,我们将增加它(读取:向其添加一个),然后再次运行循环。

--------------v
for(i = 1; i <= n; i++) {

这是条件。只要此条件的计算结果为true,循环就会运行。换句话说,如果n = 6,此循环将在i <= 6时运行。

--------------------v
for(i = 1; i <= n; i++) {

这是每次循环执行时会发生的事情。在i = 1后运行一次后,我们会增加i,现在i = 2。这将发生在条件(i <= n)评估为false之前,即i = 7时。如果条件为false,则循环将终止。

答案 1 :(得分:4)

我们可以使用一个函数int numberForRow(int row)来执行合适的转换。然后可以像r = numberForRow(i); print(r)一样使用该函数。它需要映射这个:

row (i) -> display number (r)
6          1
5          2
4          3
3          4
2          5
1          6

我认为你可以写下来:)

查看输入(i)和输出(r)之间的关系 - 注意它们总是加起来相同的值可能是有用的,所以一点点数学应该可以做到这一点。

(虽然一个函数不是严格要求的,但我发现这些函数可以帮助解决问题,特别是在这种情况下,很好地说明了转换 - 它也适用于“更高级”的转换,例如在最初的问题中; - )

答案 2 :(得分:2)

public class Pyramid {

    public static void main (String[] args)
    {
        int i,n=9,j; 
        for(i=1;i<=n;i++)
        {
            //for(j=1;j<=i;j++)  { 
            for(j=n;j>=i;j--) {
                System.out.print(i);
            }      
            System.out.print("\n");        
        }
    }
}

这应该有所帮助。

答案 3 :(得分:2)

可以使用以下方法完成:

public class Main {

    public static void main(String[] args) {

        int n = 6;
        int m =n;

        for (int i = 1; i <= n; i++,m--) {
            for (int j = 1; j <= m; j++) {
                System.out.print(i);
            }
            System.out.println();
        }

    }
}

答案 4 :(得分:0)

如果要打印三角形数字,请使用以下代码

`public class Triangular{
 public static void main(String[] args) {
    int i = 0;
    int j =0;
    int count =0;
    for (i=1;i<=10;i++){
        count = 0;  // This is a program to print triangular numbers in JAVA
        for(j=1;j<=i;j++){
            count = count + j;
        }
            System.out.println(count);
        }
    }
}`