如何创建一个包含100个随机数的文件,每行包含15个数字?

时间:2015-03-12 01:04:02

标签: java

我的任务是创建一个包含100个随机数的新文件到一个新文件,每行有15个数字。我可以打印出100个随机数字,但当我试图让它每行打印15个数字时,程序永远不会运行。

import java.util.*;
import java.io.*;
public class Random100{
   public static void main(String [] args)throws IOException
   {
      PrintWriter out = new PrintWriter(new File("random.txt"));
      Random rand = new Random();
      int number, count=0, countTwo=0;
      while(count!=100)
      {
         while(countTwo<=15)
         {
            number=rand.nextInt(100)+1;
            out.print(number);
            count++;
            countTwo++;
         }
         out.println();
      }
      out.close();
  }
}

3 个答案:

答案 0 :(得分:1)

尝试使用模运算符%,而不是第二次计数。将以下内容放入主循环:

if (count % 15 == 0) {
    out.println();
}

Modulo有点像余数,所以每15次迭代,这将打印一个换行符。

答案 1 :(得分:0)

这是因为你的外循环正在检查计数何时等于100才能停止

while(count!=100)更改为while(count<=100)

然后你需要允许内循环以15步为单位跳跃(你当前会得到105个随机数)

建议你在内部循环中添加一个中断,如果count = 100

答案 2 :(得分:0)

打印15个数字后,您忘记将countTwo重置为零。此外,因为100不是15的倍数,你需要改变你的外在条件。无论如何,这段代码总共会生成105个数字。

import java.util.*;
import java.io.*;
public class Random100{
   public static void main(String [] args)throws IOException
   {
      PrintWriter out = new PrintWriter(new File("random.txt"));
      Random rand = new Random();
      int number, count=0, countTwo=0;
      while(count<100)
      {
         while(countTwo<15)
         {
            number=rand.nextInt(100)+1;
            out.print(number);
            count++;
            countTwo++;
         }
         countTwo = 0;
         out.println();
      }
      out.close();
  }
}