• java实现两个大数相加


    import java.util.Scanner;

    import java.math.*;

    import java.text.*;

    public class Main {

     public static void main(String[] args) {  

    Scanner cin=new Scanner(System.in);  

    BigInteger a,b;  

    while(cin.hasNext()){   

    a=cin.nextBigInteger();   

    b=cin.nextBigInteger();   

    System.out.println(a.add(b));  

    }  

    }

    }

     java.util.Scanner是Java5的新特征,主要功能是简化文本扫描。这个类最实用的地方表现在获取控制台输入,当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。

    相对实用的几个API

    delimiter() 
              返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
    hasNext() 
              判断扫描器中当前扫描位置后是否还存在下一段。(原APIDoc的注释很扯淡)
    hasNextLine() 
              如果在此扫描器的输入中存在另一行,则返回 true。
    next() 
              查找并返回来自此扫描器的下一个完整标记。
    nextLine() 
              此扫描器执行当前行,并返回跳过的输入信息。
    java.util.Scanner的日常用法

    Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。查看最新在线文档: 1. public final class Scanner 2. extends Object 3. implements Iterator<String>, Closeable 可见,Scanner是没有子类的。 在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考: 构造方法:

    1. public Scanner(File source) throws FileNotFoundException

    2. public Scanner(String source)

    3. public Scanner(InputStream source) //用指定的输入流来创建一个Scanner对象 方法:           1. public void close()    //关闭

    2. public Scanner useDelimiter(String pattern) //设置分隔模式 ,String可以用Pattern取代  3. public boolean hasNext() //检测输入中,是否,还有单词

    4. public String next()   //读取下一个单词,默认把空格作为分隔符

    5. public String nextLine()  //读行

    6. 注释:从hasNext(),next()繁衍了大量的同名不同参方法,这里不一一列出,感兴趣的,可以java.util.Scanner的总结    
    //构造方法(常用的三个)    
    //Scanner(File source)    
    //Scanner(InputStream source)    
    //Scanner(String source)    
        
    //对比两种方式的比较    
    //Scanner sc=new Scanner(System.in);     
    //BufferedReader br=new BufferedReader(new InputStreamReader(System.in))     
        
    //方法    
    //useDelimiter(Pattern pattern)改变token的分割方式,默认的是空格,传Pattern对象    
    //useDelimiter(String pattern)改变token的分割方式,默认的是空格,传String    
        
    //hasNext();查看是否有token的分割段    
    //hasNextInt();查看是否有int类型的token的分割段    
    //nextInt();返回下一个int的数值    
    //nextLine();返回一行    
        
    //hasNext(Pattern pattern);返回下一个pattern类型的token    
        
    public class ScannerTest {    
            public static void main(String[] args){    
                    String str = "1.1 22.2 s 4 5.3 6 7.5 8 9";    
                    Scanner scanner = new Scanner(str);    
                    //scanner.useDelimiter("\.");    
                    while(scanner.hasNext()){    
                            if(scanner.hasNext(Pattern.compile("\d\.\d"))){    
                                    System.out.println(scanner.next());    
                            }else{    
                                    scanner.next();//要调用一下next()相关的方法才会到下一个token    
                            }    
                    }                         
            }    
    }    
        
    结果:    
    1.1    
    5.3    
    7.5    
        
        
    public class ScannerTest {    
            public static void main(String[] args){    
                    String str = "1.2 s.4 5 6.7 8 9";    
                    Scanner scanner = new Scanner(str);    
                                        //token以.分割    
                    scanner.useDelimiter("\.");    
                    while(scanner.hasNext()){    
                            System.out.println(scanner.next());    
                    }                         
            }    
    }
    结果:

    1
    2 s
    4 5 6
    7 8 9

     

     
  • 相关阅读:
    centos、mac的grafana安装和简单使用
    通过k8s(Kubernetes)搭建jmeter的压测环境master-slave架构,实现弹性伸缩
    burpsuite破解版
    jvm调优
    火狐firefox、谷歌chrome等浏览器扩展、插件介绍
    关于Chrome谷歌浏览器开发者工具网络Network中返回无数据的问题
    微博登录过程分析
    SQL SERVER大话存储结构(4)_复合索引与包含索引
    千万级别数据表,单列索引和多列索引性能对比
    Showplan 逻辑运算符和物理运算符参考
  • 原文地址:https://www.cnblogs.com/iris-yx/p/3411568.html
Copyright © 2020-2023  润新知