Scanner用法总结

来源:互联网 发布:大数据时代pdf百度云 编辑:程序博客网 时间:2024/06/05 18:56
今天晚上参加了爱奇艺的算法题大赛,由于平时做的算法题都是直接写一个函数。然后他这个页面是用Scanner输入的。导致我一题没做,直接交白卷了。是时候补习一下了。奋斗

实例1:

import java.util.Scanner;public class Main{    public static void main(String []args){        Scanner sr=new Scanner(System.in);while(sr.hasNext()){            int a=sr.nextInt();            int b=sr.nextInt();            System.out.println(count(a,b));        }            }    public static int count(int m,int n){        return m+n;   }}

实例2:

/*知道输入多少个数字,如:41 2 3 4*/import java.util.Scanner;public class Main{    public static void main(String []args){        Scanner sr=new Scanner(System.in);while(sr.hasNext()){            int n=sr.nextInt();            for(int i=0;i<n;i++){            System.out.println(sr.nextInt());            }        }            }}

实例3:

import java.util.Scanner;public class Main{    public static void main(String []args){        Scanner sr=new Scanner(System.in);        //不知道输入多少个数字while(sr.hasNext()){            String n=sr.nextLine();            String []string=n.split(" ");            int arr[]=new int[string.length];            for (int i = 0; i < string.length; i++) {            arr[i]=Integer.parseInt(string[i]);            }            System.out.println("您输入数字个数为:"+arr.length);            for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);    }        }            }}

实例4:

//牛客网华为笔试尼克斯定理/* 周围不少同学在做网上编程测试的时候,在本地IDE上能运行而在WEB平台上屡屡出错。 我上次做网易的笔试也是这种情况,主要是对平台的编译环境不熟悉 在用Scanner作为输入编程时,建议每次都用while(sr.hasNext()){},这样通告效率高点 * */import java.util.Scanner;public class Text5{    public static void main(String []args){        Scanner sr=new Scanner(System.in); method1(sr);//通过 method2(sr);//不通过虽然本地IDE运行可以,但是web平台运行还是报错    }        private static void method1(Scanner sr) {    while(sr.hasNext()){    int n=sr.nextInt();            int begin=n*(n-1)+1;            for(int i=0;i<n-1;i++){                System.out.print(begin+"+");                begin+=2;            }            System.out.println(begin);//如果换成print则就会报错,虽然IDE本地运行可以    }}    private static void method2(Scanner sr) {int n=sr.nextInt();        int begin=n*(n-1)+1;        for(int i=0;i<n-1;i++){            System.out.print(begin+"+");            begin+=2;        }        System.out.println(begin);}}

实例5:

import java.util.Scanner;//数组越界/* 刚开始用sc.nextLine();死活不通过,始终报下面这个错误: 不通过您的代码已保存请检查是否存在数组越界等非法访问情况case通过率为0.00%总结:使用nextLine()要注意!因为有时不是一行一行输入的,而有可能有一行 * */public class Main{    public static void main(String []args){    Scanner sc=new Scanner(System.in);    while(sc.hasNext()){    //我ABC汉DEF   6    String str=sc.next();    //String str=sc.nextLine();    int a=sc.nextInt();    int flag=a;    for(int i=0;i<a;i++){    int len=String.valueOf(str.charAt(i)).getBytes().length;    if(len==2)flag--;    }    System.out.println(str.substring(0,flag));    }    }}
                                             
0 0
原创粉丝点击