java - 在Java中反转数组中的每个数字的问题
问题描述
我正在尝试使用 do-while 反转整数数组中的每个数字,但出现 NullPointerException 错误。我正在尝试反转此数组中的每个元素:例如,如果这是我的数组:{12,34,56}那么结果必须是:{21,43,65}。有人可以帮我吗?
public class Reverse {
public int[] revCalculator(int[] number) {
int[] reverse = null;
for (int j = 0; j < number.length; j++) {
do {
reverse[j] = reverse[j] * 10 + number[j] % 10;
number[j] /= 10;
} while (number[j] > 0);
}
return reverse;
}
}
public class ShowReverse {
public static void main(String[] args) {
// instantiation
// -----------------------------------------
Reverse rev = new Reverse();
@SuppressWarnings("resource")
Scanner in = new Scanner(System.in);
System.out.println("Enter The Number Of Elements: ");
int len = in.nextInt();
int[] numbers = new int[len];
for (int i = 0; i < len; i++) {
System.out.println("Enter Number: ");
numbers[i] = in.nextInt();
}
int[] result = rev.revCalculator(numbers);
// shows the result
// -----------------------------------------
System.out.println("THE REVERSE WOULD BE: ");
System.out.print(result);
}
}
解决方案
您必须进行一些更改:
- 初始化反向数组
int[] reverse = new int[number.length];
System.out.print(result);
会给你结果数组的地址。您必须显示数组的元素。int[] result = new int[numbers.length]; result = rev.revCalculator(numbers); // shows the result // ----------------------------------------- System.out.println("THE REVERSE WOULD BE: "); //System.out.print(result); for(int i = 0 ; i<result.length; i++) System.out.println(result[i]);
希望这可以帮助。
推荐阅读
- vba - Excel VBA:指定使用宏编辑哪些图表
- android - 如何使用 Nordic BLE 棒模拟 BLE 设备,以便应用程序发现它
- php - 使用 php.ini 检查复选框的解决方案。认为我必须使用一个值
- ruby-on-rails - Resque - 检查是否停止/启动
- c# - SetValidUntilExpires 替代方案
- apache - Apache kylin 是否支持从多个 hadoop 集群中获取多维数据集的数据?
- jquery - 如果已经设置了当天的时间表,如何提醒用户?
- php - 属于通过方法
- javascript - 木瓜 DICOM 查看器,移动切片不起作用,当它相同时
- javascript - 无法更改 React js 中的输入字段