Java中同时输入字符串和int类型出错的处理方式

简介: 在Java中,如果输入int类型和字符串处理不当会产生错误,例如:如果先输入int类型,在输入字符串类型

在Java中,如果输入int类型和字符串处理不当会产生错误,例如:如果先输入int类型,在输入字符串类型,如下代码:


 Scanner sc=new Scanner(System.in);
 int a=sc.nextInt();
 String b=sc.nextLine(); 
 System.out.println(a);
 System.out.println(b);


在系统输入一个int类型数据就会停止,并且只会输出那个int类型数据。如果先输入字符串类型在输入int类型则不会报错。在实际运行中,如果交替输入int 类型和 String类型有一下几种解决方式:


1:都采用字符串输入,例如:


 String a=sc.nextLine();
 int a2=Integer.parseInt(a);//转换为int类型
 String b=sc.nextLine();


2:再输入int后接String类型之间加上sc.nextLine();这也是我采用的方法;这是偶然看别人写代码看到就学习了。


 int a=sc.nextInt();
 sc.nextLine();//一定要是sc.nextLine();才行
 String b=sc.nextLine();
 System.out.println(a);
 System.out.println(b);


3:再Scanner一个对象


 Scanner sc=new Scanner(System.in);
 Scanner sb=new Scanner(System.in);
 while(sc.hasNext()) { 
 int a=sc.nextInt(); 
 String b=sb.nextLine();
 System.out.println(a);
 System.out.println(b); 
 } 


至于会出现这样的原因,百度上说是由于java虚拟式识别的问题。

目录
相关文章
|
3天前
|
存储 安全 Java
Java一分钟之-泛型擦除与类型安全
【5月更文挑战第20天】Java泛型采用类型擦除机制,在编译期间移除泛型信息,但在编译阶段提供类型安全检查。尽管需要类型转换且可能产生警告,但可以通过特定语法避免。使用泛型时应注意自动装箱拆箱影响性能,无界通配符仅允许读取。理解这些特性有助于编写更安全的代码。
28 4
|
8天前
|
Java 索引
【JAVA基础篇教学】第七篇:Java异常类型说明
【JAVA基础篇教学】第七篇:Java异常类型说明
|
8天前
|
SQL druid Java
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
12 0
|
4天前
|
安全 Java API
Java一分钟之-泛型通配符:上限与下限野蛮类型
【5月更文挑战第19天】Java中的泛型通配符用于增强方法参数和变量的灵活性。通配符上限`? extends T`允许读取`T`或其子类型的列表,而通配符下限`? super T`允许向`T`或其父类型的列表写入。野蛮类型不指定泛型,可能引发运行时异常。注意,不能创建泛型通配符实例,也无法同时指定上下限。理解和适度使用这些概念能提升代码的通用性和安全性,但也需兼顾可读性。
26 3
|
5天前
channelSftp.put(InputStream src, String dst, int mode);里的mode都是什么类型的
【5月更文挑战第15天】channelSftp.put(InputStream src, String dst, int mode);里的mode都是什么类型的
34 2
|
6天前
|
Java
Java中int[]与Integer[]相互转化的方法,java基础知识面试重点总结
Java中int[]与Integer[]相互转化的方法,java基础知识面试重点总结
|
7天前
|
Java Kotlin
关于Java:public函数公开其public / * package * /’参数类型
关于Java:public函数公开其public / * package * /’参数类型
12 3
|
8天前
|
Java 编译器 C语言
【Java开发指南 | 第五篇】Java变量类型、参数变量及局部变量
【Java开发指南 | 第五篇】Java变量类型、参数变量及局部变量
15 3
|
8天前
|
Java
Java String类型转换成Date日期类型
Java String类型转换成Date日期类型
|
8天前
|
关系型数据库 MySQL Java
Java时间转换为MySQL中的INT类型时间戳
Java时间转换为MySQL中的INT类型时间戳