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