Java 十行输出

Java output in lines of ten

我是初学者 java class 我有一个关于第 5 周数组问题的输出语句的快速问题。所以基本上我已经掌握了程序的核心,但我应该以十行的形式输出结果。出于某种原因,即使在这里查看类似的帖子,我也无法让它工作。我是初学者,在编程方面将 2 和 2 放在一起的速度非常慢。一旦我看到它,我就有了啊哈!片刻,整个 class 就这样结束了。我知道我必须使用模数,但在反复试验中我迷失了方向,可能弊大于利。帮助将不胜感激。

这是我所拥有的,你可以看出我正在尝试不带模数的东西:

 import java.util.*;

   public class ArrayLoop 
   {
      public static void main(String args[])
      {
         double alpha[] = new double[50];
         *//Initialize the first 25 elements of the array (int i=0; i<25; i++)//*
            for(int i = 0; i < 25; i++)
         {
            alpha[i]= i * i;
         }
            *//Initialize the last 25 elements of the array (i=25; i<50; i++)//*
               for(int i = 25; i < 50; i++)
               {
               alpha[i]= 3 * i;
               }
               *//Print the element of the array*
                  System.out.println ( "The values are: " );
                  for (int i = 0; i < 50; i++)
                  System.out.println ( alpha[i] );
               }
                  *//Print method to display the element of the array*
                  void print(double m_array[])
         {

                      for(int i = 1; i < m_array.length; i++)
                      {
                      if(i % 10 == 0){;
                      System.out.println();
                      }else{
                      System.out.print(" ");
                      }
                     }
                     if (m_array.length % 10 != 0) {
                     System.out.println();
         }
     }
 }

您的代码中有几个 % 10 片段,所以我完全 不确定那是如何 "trying something without modulus" :-)

话虽如此,根据以下伪代码,模数正是您所需要的:

count = 0
for each item in list:
    if count > 0 and (count % 10) == 0:
        print end of line
    print item
print end of line

在 Java 中,您可以使用如下内容:

public class Test {
    static public void main(String args[]) {
        for (int i = 0; i < 24; i++) {
            if ((i > 0) &&((i % 10) == 0)) {
                System.out.println();
            }
            System.out.print ("" + i * 3 + " ");
        }
        System.out.println();
    }
}

换句话说,在打印一个项目之前,检查它是否应该在下一行,如果是,在打印之前输出一个换行符。

请注意 Java 中的数组是基于 0 的,因此您需要从循环中的索引 0 而不是 1 开始。

现在这非常 接近 你所拥有的,所以你在正确的轨道上,但是,对于我来说,我看不到你的 print() 方法您实际 打印项目的地方! 这应该是您要调查的事项列表中的第一位:-)


敦促你尝试从上面的文本和示例中解决这个问题,但是,如果半个多小时左右后你仍然遇到问题,下面代码显示了我将如何做。

public class Test {
    static void print (double m_array[]) {
        for (int i = 0; i < m_array.length; i++) {
            if ((i > 0) && ((i % 10) == 0))
                System.out.println();
            System.out.print (m_array[i] + " ");
        }
        System.out.println();
    }

    static public void main(String args[]) {
        double[] x = new double[15];
        for (int i = 0; i < x.length; i++)
            x[i] = i * 3;
        print (x);
    }
}

您必须先打印数字,然后通过检查模数来决定是打印 space 还是换行:

int arr[] = new int[50];
// Initialize array here

for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i]);
    if (i > 0 && (i + 1) % 10 == 0) {
        System.out.println();
    } else {
        System.out.print(" ");
    }
}

嗯 .. 这一点也不 eloquent 但我试图对您现有的代码示例进行最少的更改。

public class ArrayLoop {

    public static void main(String args[]) {
        double alpha[] = new double[50];

        for (int i = 0; i < 25; i++) {
            alpha[i] = i * i;
        }

        for (int i = 25; i < 50; i++) {
            alpha[i] = 3 * i;
        }

        System.out.println("The values are: ");
        for (int i = 0; i < 50; i++) {
            System.out.print(alpha[i] + " ");
        }

        System.out.println();
        System.out.println();

        for (int i = 1; i < alpha.length; i++) {
            if (i != 1 && i % 10 == 0) {
                System.out.print(alpha[i - 1] + " ");
                System.out.println();
            } else {
                System.out.print(alpha[i - 1] + " ");
            }

        }
        System.out.print(alpha[49]);
    }
}

编辑:更好的条件是...

for (int i = 0; i < alpha.length; i++) {
    if (i > 0 && i % 10 == 9) {
        System.out.print(alpha[i] + " ");
        System.out.println();
    } else {
        System.out.print(alpha[i] + " ");
    }
}