java long 二进制_Java写十进制和二进制互转

本文提供了一个Java程序,用于实现用户选择十进制转二进制或二进制转十进制的功能。程序通过Scanner获取用户输入,使用switch-case语句进行操作选择,并通过自定义方法convertBinary和convertAlgorism完成转换过程。
摘要由CSDN通过智能技术生成

package com.helong.test;

import java.util.Scanner;

public class Literals {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

println("请选择您要操作项的编号:");

println("1.十进制转二进制\t\t\t2.二进制转十进制");

while (!input.hasNextInt()) {

println("您输入的不是整型,请输入0-9的数字");

input.nextLine();

}

Scanner input1 = new Scanner(System.in);

switch (input.nextInt()) {

case 1:

println("\t\t\t\t您选择的是:1.十进制转二进制");

println("请输入你要转换的二进制数:");

int a = 0;

a = input1.nextInt();

println("您输入的十进制数是:" + a + " 转换成二进制是:" + convertBinary(a));

break;

case 2:

println("\t\t\t\t您选择的是:2.二进制转十进制");

println("请输入你要转换的二进制数:");

String b = input1.nextLine();

println("您输入的二进制数是:" + b + " 转换成十进制数是:"

+ convertAlgorism(b.toCharArray()));

break;

default:

println("您输入的操作编号系统不能识别,系统将自动停止");

}

input.close();

}

// 十进制转换二进制

private static String convertBinary(int sum) {

StringBuffer binary = new StringBuffer();

while (sum != 0 && sum != 1) {

binary.insert(0, sum % 2);

println("sum=" + sum + "余数=" + (sum % 2) + "除数=" + sum / 2);

sum = sum / 2;

if (sum == 0 || sum == 1) {

binary.insert(0, sum % 2);

}

}

return binary.toString();

}

// 二进制转十进制

private static int convertAlgorism(char[] cars) {

int result = 0;

int num = 0;

for (int i = cars.length - 1; 0 <= i; i--) {

int temp = 2;

if (num == 0) {

temp = 1;

} else if (num == 1) {

temp = 2;

} else {

for (int j = 1; j < num; j++) {

temp = temp * 2;

}

}

int sum = Integer.parseInt(String.valueOf(cars[i]));

result = result + (sum * temp);

num++;

}

return result;

}

private static void println(Object info) {

System.out.println(info);

}

private static void print(Object info) {

System.out.print(info);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值