博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA高精度3_比较大小
阅读量:7114 次
发布时间:2019-06-28

本文共 1169 字,大约阅读时间需要 3 分钟。

题目传送门

   大数比较,用到Java的compareTo方法:

java中的compareto方法,返回参与比较的前后两个字符串的asc码的差值,看下面一组代码
String a="a",b="b";
System.out.println(a.compareto.b);
则输出-1;
若a="a",b="a"则输出0;
若a="b",b="a"则输出1;
 
单个字符这样比较,若字符串比较长呢??
若a="ab",b="b",则输出-1;
若a="abcdef",b="b"则输出-1;
也就是说,如果两个字符串首字母不同,则该方法返回首字母的asc码的差值;
 
如果首字母相同呢??
若a="ab",b="a",输出1;
若a="abcdef",b="a"输出5;
若a="abcdef",b="abc"输出3;
若a="abcdef",b="ace"输出-1;
即参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值,如果两个字符串不一样长,可以参与比较的字符又完全一样,则返回两个字符串的长度差值
注意compareTo不能直接比较整型,可以用用String.ValueOf()和BigInteger.valueOf等转换在比较就是。。。
import java.math.BigInteger;import java.util.Scanner; class Main {    public static void main(String[] args) {            Scanner in = new Scanner(System.in);                        while(in.hasNext()) {           	            BigInteger a = in.nextBigInteger();            BigInteger b = in.nextBigInteger();            if(a.equals(BigInteger.ZERO)&&b.equals(BigInteger.ZERO))             break;            int flag = a.compareTo(b);            if(flag==-1)            	System.out.println("a
b"); } } }

转载于:https://www.cnblogs.com/zhangmingzhao/p/7256693.html

你可能感兴趣的文章
源码安装Memcached服务器及其2种PHP客户端
查看>>
大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
查看>>
QT 对话框一
查看>>
mysql加密函数
查看>>
JedisConnectionException: Unexpected end of stream.
查看>>
openstack中彻底删除计算节点的操作记录
查看>>
统一回复《怎么学JavaScript?》
查看>>
[AngularJS] Using an AngularJS directive to hide the keyboard on submit
查看>>
博客迁址通知
查看>>
Git查看、删除、重命名远程分支和tag(转)
查看>>
Atitit 编程语言常用算法attilax总结
查看>>
更改WAS Profiles的概要文件的server1的SDK版本
查看>>
Centos下MySQL主从同步配置
查看>>
如何在Node.js中合并两个复杂对象
查看>>
(笔记)VC6插件安装--Unable to register this add-in because its DllRegisterServer returns an error...
查看>>
【.net 深呼吸】细说CodeDom(7):索引器
查看>>
monolog使用
查看>>
【AtCoder010】B - Boxes(差分)
查看>>
三种 Failover 之 Client-Side Connect time Failover、Client-Side TAF、Service-Side TAF
查看>>
ES 相似度算法设置(续)
查看>>