我的任务是创建一个包含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();
}
}
答案 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();
}
}