Java程序开发求助:整数存入数组及数组模运算实现
解决Java数组存储整数与模运算的问题
看起来你已经有了不错的开头,我来帮你完善代码,搞定数组存储和模运算的问题,咱们一步步来:
首先,你的现有代码里只声明了数组int[] n;但没初始化它——数组必须指定长度才能存元素,所以得在读取完要输入的数字个数r之后,用new int[r]来初始化数组。之后通过循环逐个读取整数存入数组,最后遍历数组完成模运算就行。
下面是完整的修改后代码,我会在后面逐段解释细节:
public class Modulo { // 类名首字母大写是Java的编码规范哦 public static void main(String[] args) { int counter = 0; int r = 0; int modus; int numbers; int[] n; // 先声明数组 Out.print("How many numbers you want to calculate: "); r = In.readInt(); n = new int[r]; // 初始化数组,长度为输入的数字个数r // 循环读取整数并存入数组 for (int i = 0; i < r; i++) { Out.print("Enter number " + (i + 1) + ": "); numbers = In.readInt(); n[i] = numbers; // 将读取的整数存入数组对应位置 } // 读取用于模运算的除数 Out.print("With what number do you want to calculate modulo? "); modus = In.readInt(); // 遍历数组执行模运算并输出结果 Out.println("\nModulo results:"); for (int num : n) { // 增强for循环遍历数组,更简洁 int result = num % modus; Out.println(num + " % " + modus + " = " + result); } } }
关键部分拆解:
- 数组初始化:在读取
r(要处理的数字数量)之后,执行n = new int[r];,这样数组就拥有了r个元素的存储空间,每个元素初始值为0。 - 存储整数到数组:用普通
for循环遍历数组的每个索引(从0到r-1),每次读取用户输入的整数,赋值给n[i],就能把每个数依次存入数组对应位置。 - 模运算实现:先读取用于取模的数
modus,然后用增强for循环遍历数组中的每个元素,使用Java的%运算符执行模运算,最后逐个输出每个数的运算结果。
另外小提醒:Java的类名规范是首字母大写,所以我把modulo改成了Modulo,这样更符合行业编码习惯~
内容的提问来源于stack exchange,提问作者Jedan Gospodin
相关产品推荐
相关产品推荐

