UVA446 JAVA版 Kibbles "n" Bits "n" Bits "n" Bits

本文深入探讨了Java中进制转换的实际应用,通过具体题目解析,介绍了如何将十六进制字符串转换为十进制整数,并进行加减运算,再将其转换为二进制字符串。文章提供了完整的代码实现,包括输入输出格式控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自我标记:进制转换
本次的四题JAVA,三题都是关于进制转换的,而JAVA中自带了很多关于进制转换的、好用的、可调用的方法,详情请前往:Java各类型数的进制转换
垃圾小玲的题解

UVA446 Kibbles “n” Bits “n” Bits “n” Bits

插一点题外话噢。
上次在机房看见有一个小改改,打开CSND,找了一篇博客,直接滑到代码区,连编译器都不开,
直接复制到提交页面,然后把一些注释啊,“转载请联系作者”啊之类的话,删了,就提交。
有种咽了一大口猪油的感觉。
UVA的题,百度上搜是搜不到JAVA版的,所以很大概率就是贴了我的代码上去吧。
分享代码是想大家一起进步,我并不想因为我,让你贪了一时之快,不会写可以慢慢学,
也可以问我噢,找得到我的博客,那你应该也找得到我。
如果这开头的一大段话你看了,那么恭喜你,CE问题可以得到解决了,你把第三行的Change改成
Main就行了,这个原理,在置顶的那篇博客里说过了。
如果这开头的一大段话你没看,那么恭喜你,真真正正地可以获得一个“研究非文件传输的JAVA代码
如何在东华土豆OJ上运行”的课题。
希望大家共同进步。
import java.util.Scanner;
import java.util.*;
public class Change{
	public static void main(String[] args) {
		int cas;
		Scanner reader = new Scanner(System.in);
		cas = reader.nextInt();
		while (cas > 0) {
			cas--;
			String s1 = reader.next();
			String op = reader.next();// 读入操作符噢
			String s2 = reader.next();
			int n1 = Integer.valueOf(s1, 16);// 16进制的s1转成10进制
			int n2 = Integer.valueOf(s2, 16);
			int sum;
			if ("+".equals(op))
				sum = n1 + n2;
			else
				sum = n1 - n2;
			String s3 = Integer.toBinaryString(n1);
			String s4 = Integer.toBinaryString(n2);
			// 格式控制
			int len1 = s3.length();
			int len2 = s4.length();
			while (len1 < 13) {
				s3 = '0' + s3;
				len1++;
			}
			while (len2 < 13) {
				s4 = '0' + s4;
				len2++;
			}
			System.out.println(s3 + ' ' + op + ' ' + s4 + " = " + sum);
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值