Java读取txt随机数控制换行位置生成10×10数字图表的实现问题
问题原因分析
- 你当前的代码在
while循环的第一行就执行了System.out.print("\n");,每读取一个数字就会先输出换行,自然会出现每个数字单独占一行的问题。 - 原代码缺少
java.util.Scanner的导入声明,编译阶段会报错。
实现10×10数字图表的修正代码
import java.io.*; import java.util.Scanner; // 补充缺失的Scanner导入 public class numbersChart { public static void main(String[] args) throws IOException { File myFile = new File("numbers.txt"); Scanner text = new Scanner(myFile); int count = 0; // 用于计数已输出的数字数量 while (text.hasNextInt()) { // 直接格式化输出数字,预留6字符宽度保证对齐 System.out.printf("%6d", text.nextInt()); count++; // 每输出10个数字插入换行 if (count % 10 == 0) { System.out.println(); } } text.close(); // 补充资源关闭操作,避免IO资源泄漏 } }
逻辑说明
- 新增计数器
count记录已经输出的数字个数,每输出1个数字计数器自增1 - 每次计数器值为10的整数倍时输出换行符,实现每10个数字换一行的效果
- 直接使用
%6d格式化数字输出,自动预留宽度保证行列对齐更规整
内容的提问来源于stack exchange,提问作者robot20
相关产品推荐
相关产品推荐

