您的位置:首页 > 编程语言 > Java开发

Java学习记录|基础库类-Scanner类

2020-03-28 20:15 169 查看

Scanner类中的几种基础方法

  1. next() 用来获得用户在控制台输入的数据
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
String str=s.next();
System.out.println(str);
}//正常输入输出
  1. nextInt() 用来获得用户在控制台输入的的一段整型
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int str=s.nextInt();
System.out.println(str);
}//比如输入5输出为5,但输入非整型报异常
  1. hasNext() 判断是否有下一个数据 布尔类型
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
boolean ishasNext=s.hasNext();
System.out.println(ishasNext);
}//输入数据 输出true
  1. hasNextInt() 判断是否有下一个整型 布尔类型
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
boolean ishasNext=s.hasNextInt();
System.out.println(ishasNext);
}//和3相比,输入整型输出为true,输入其他输出为false
  1. 对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类的初步应用

  1. 用户密码的登陆:用户名密码均为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("登陆失败");
}
}
  1. 注册 加入年龄的判断是否为整数
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);
}
  1. 对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学院】

  • 点赞
  • 收藏
  • 分享
  • 文章举报
nanali_lili 发布了15 篇原创文章 · 获赞 0 · 访问量 268 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: