java - Java十进制到二进制的转换错误
问题描述
我现在正在做一个数字系统代码,并且在我的 decimalToBinary 上,每当我输入一个十进制数字时,无论它是什么十进制数字,它总是将它转换为 1。代码在这里。
public static void decimalToBinary() {
do {
System.out.println("Enter your decimal number");
numDecimal = input.nextInt();
if (numDecimal < 0) {
System.out.println("Enter a valid number!");
}
} while (numDecimal < 0);
int intNum = Integer.valueOf(numDecimal);
int counter = 0;
binaryVal[counter++] = intNum % 2;
intNum = intNum/2;
for (int i = counter-1; i >= 0; i--) {
System.out.println("Your binary number is " + binaryVal[i]);
}
}
解决方案
我建议您通过以下代码段更改代码,您还需要考虑创建binaryVal
具有足够维度的数组,以保存将生成二进制转换的完整数字。
do {
binaryVal[counter++] = intNum % 2;
intNum = intNum / 2;
} while (intNum > 0);
for (int i = counter - 1; i >= 0; i--) {
System.out.print(binaryVal[i]);
}
推荐阅读
- azure-devops - 当 Azure Boards 中有未关闭的子工作项时,如何禁止关闭父工作项?
- fullcalendar - FullCalender 可以配置 TimeSlots: Morning, Afternoon & Evening
- laravel - Laravel 7 清理表单数据
- node.js - 在 ExpressJS 中的任何请求之前调用的中间件
- amazon-web-services - 使用 AWS CodeDeploy 的 ECS 跨账户部署
- bash - 运行需要终端输入的 PLP/SQL 过程的 shell 脚本,然后将 shell 进程移至后台
- python - 如何在没有 discord.py 的情况下获取用户在不和谐服务器中发送的消息数量?
- r - R中的调查设计相关问题
- python - 考虑到条件,在熊猫中创建一个新列
- c - AVR芯片编程时如何定义内存指针?