• 笔试多次跪了的Scanner


    今年的笔试和往常不太一样(学长和我交流说),算法题不只是写核心算法,接口由出题的人出了,但是我平常在环境做的算法都只是一个核心算法,因此这时候在输入输出跪了的情况太多了。

    所以想来总结一波:

    记忆尤新的是昨天的笔试中一道题,它的输入是:12,321,输出是他们最小的组成数。

    我记得我给的核心算法中需要传参的是int[]但是输入却是有逗号,一下子就让我没办法了,然后考完两分钟后写出来了,我沉默了。

    具体代码:

    1.这是如果你核心算法传参是int[]的,你输入有特殊字符如:" "    " ,"的。

                   Scanner in = new Scanner(System.in);
    		
    		String str = in.nextLine();  //如上面例子,输入:21,321
    		String[] strs = str.split(","); //里面存21 321,两个字符串
    		
    		int[] arr = new int[strs.length];
    		
    		for(int i = 0;i < strs.length;i++) {
    			arr[i] = Integer.valueOf(strs[i]); //字符串的数提出来
    		}        
    

     2算法传参可改成String[]的参数:那就不用将String类型转化成int类型了。

                    Scanner in = new Scanner(System.in);
    		
    		String str = in.nextLine();  //如上面例子,输入:21,321
    		String[] strs = str.split(","); //里面存21 321,两个字符串
    

     直接这样就好。

    3.输入一个整数比较简单:

                    Scanner in = new Scanner(System.in);
    		int N = in.nextInt();
    

     4.输入一个字符串:

                   Scanner in = new Scanner(System.in);
    		
    		String s1 = in.next();
    		String s2 = in.nextLine();
    

     可以看到字符串有两种输入方法:

           (1)、第一种就是s1的输入,这种输入自动屏蔽掉输入的分隔符,如空格、Tab键、回车键,直到遇到有效地字符输入后,则将这些分隔符作为结束标志;

            (2)、第二种就是s2的输入,这种输入则是将从开始运行所输入的所有的字符,包括分隔符,均作为控制台输入,只有在遇到enter回车键时,才结束输入,并将所有的内容作为输入内容传给Scanner

    5.输入一个int类型的数组:(这时题目应该要求给定了数组的大小的);

                   Scanner in = new Scanner(System.in);
    
    		int N = in.nextInt();
    		int [] a = new int[N];
    		for(int i = 0;i < N;i++) {
    			a[i] = in.nextInt();
    		}
    

     6.输入的是一个二维数组:

                   Scanner in = new Scanner(System.in);
    
    		int N = in.nextInt();
    		int M = in.nextInt();
    		int[][] array = new int[N][M];
    		
    		for(int i = 0;i < N;i++) {
    			for(int j = 0;j < M ;j++) {
    				array[i][j] = in.nextInt();
    			}
    		}
    

     目前遇到的就这些了吧。后面遇到再加!

  • 相关阅读:
    数据库索引(Oracle和Mysql)学习总结
    个人开源Git地址
    关于SQL优化这些你了解吗?
    Java项目排查cpu负载高
    Java Bean与Map之间相互转化的实现
    Maven项目改为spring boot项目的方法
    spring boot从redis取缓存发生java.lang.ClassCastException异常
    MySQL优化之Explain命令解读
    阿里巴巴校招四面经验分享
    HDBS之应用代码优化
  • 原文地址:https://www.cnblogs.com/youdiaodaxue16/p/11388361.html
Copyright © 2020-2023  润新知