Java学习记录|基础库类-Scanner类
2020-03-28 20:15
169 查看
Scanner类中的几种基础方法
- next() 用来获得用户在控制台输入的数据
public static void main(String[] args) { Scanner s=new Scanner(System.in); String str=s.next(); System.out.println(str); }//正常输入输出
- nextInt() 用来获得用户在控制台输入的的一段整型
public static void main(String[] args) { Scanner s=new Scanner(System.in); int str=s.nextInt(); System.out.println(str); }//比如输入5输出为5,但输入非整型报异常
- hasNext() 判断是否有下一个数据 布尔类型
public static void main(String[] args) { Scanner s=new Scanner(System.in); boolean ishasNext=s.hasNext(); System.out.println(ishasNext); }//输入数据 输出true
- hasNextInt() 判断是否有下一个整型 布尔类型
public static void main(String[] args) { Scanner s=new Scanner(System.in); boolean ishasNext=s.hasNextInt(); System.out.println(ishasNext); }//和3相比,输入整型输出为true,输入其他输出为false
- 对2的改进 判断是否有下一个整型(当输入为整型返回整型,输入非整型不报错返回false)
public static void main(String[] args) { Scanner s=new Scanner(System.in); if(s.hasNextInt()){ int str=s.nextInt(); System.out.println(str); }else{ System.out.println("非整型"); } }
Scanner类的初步应用
- 用户密码的登陆:用户名密码均为admin,输出成功;否则失败
public static void main(String[] args) { Scanner s=new Scanner(System.in); String username=null; String password=null; System.out.println("请输入用户名"); username=s.nextLine();//nextLine()接收一行 System.out.println("请输入密码"); password=s.nextLine(); if(username.equals("admin")&&password.equals("admin")){ System.out.println("登陆成功"); }else{ System.out.println("登陆失败"); } }
- 注册 加入年龄的判断是否为整数
public static void main(String[] args) { Scanner s=new Scanner(System.in); String username=null; String password=null; int age=0; System.out.println("请输入用户名"); username=s.nextLine();//nextLine()接收一行 System.out.println("请输入密码"); password=s.nextLine(); System.out.println("请输入年龄");//这里因为年龄是整数,所以要加判断 if(s.hasNextInt()){ age=s.nextInt(); } System.out.println("注册成功"+"用户名"+username+"密码"+password+"年龄"+age); }
- 对2的改善:用户输入年龄出现错误时,需要反复输入,直到正确
用到while循环(注意防止while无限循环)
public static void main(String[] args) { Scanner s=new Scanner(System.in); String username=null; String password=null; int age=0; System.out.println("请输入用户名"); username=s.nextLine();//nextLine()接收一行 System.out.println("请输入密码"); password=s.nextLine(); System.out.println("请输入年龄");//这里因为年龄是整数,所以要加判断 while(s.hasNextInt()==false){//用户下一个输入的不是数字 System.out.println("你输入的不是一个年龄"); s.next();//!!这一步很重要,如果没有这行代码,程序会一直运行下去,输出"你输入的不是一个年龄" // 不管下一个输入的是否为整数,第一步先接收过来,这样程序才能进行下一步。没有赋值,因为我们不需要保留该数据 //这样才能继续接收下一个数据 } age=s.nextInt(); System.out.println("注册成功"+"用户名"+username+"密码"+password+"年龄"+age); }
学习来源:bilibili【siki学院】
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- java基础学习记录之for嵌套学习与练习一
- java基础学习记录之利用数组查表法进行进制转换优化的学习与练习七(十转二、十转八、十转十六)
- java基础学习记录之数组选择排序的学习与练习二
- 【从零开始】Java基础学习记录(二) == 和 equals 方法的区别和使用
- java基础学习记录之利用数组查表法进行进制转换的学习与练习六
- 2017-02-17 JAVA课程学习记录(Java基础语法)(惠普基地)
- JDBC基础学习--Java学习记录
- 7月20日Java基础:本人为新手正在学习Java中把每天学的东西晚上都会在博客记录希望大神可以指点 不足在此谢过。
- Java基础学习记录--Collections框架
- JAVA 基础学习(个人记录)
- 【从零开始】Java基础学习记录(一) toString 方法的书写格式
- Java基础学习记录(三)
- Java学习记录------基础
- Java 学习过程记录_语言基础
- Java基础学习记录
- 黑马程序员_学习记录02:Java语言基础
- Java快排、冒泡、选择最基础的学习记录
- 我的java基础学习记录
- Java基础学习易错点记录
- java基础学习记录