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虚拟式识别的问题。

目录
相关文章
|
13天前
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
42 1
|
3天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
6天前
|
自然语言处理 算法 Java
Java如何判断两句话的相似度类型MySQL的match
【9月更文挑战第1天】Java如何判断两句话的相似度类型MySQL的match
13 2
|
12天前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之dal层中的mapper数据源类型进行组织的问题如何解决
Java应用结构规范问题之dal层中的mapper数据源类型进行组织的问题如何解决
|
15天前
|
存储 Java API
|
7天前
|
API C# 开发者
WPF图形绘制大师指南:GDI+与Direct2D完美融合,带你玩转高性能图形处理秘籍!
【8月更文挑战第31天】GDI+与Direct2D的结合为WPF图形绘制提供了强大的工具集。通过合理地使用这两种技术,开发者可以创造出性能优异且视觉效果丰富的WPF应用程序。在实际应用中,开发者应根据项目需求和技术背景,权衡利弊,选择最合适的技术方案。
22 0
|
14天前
|
开发工具 数据安全/隐私保护
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
|
15天前
|
存储 Java API
|
Oracle Java 关系型数据库
我的Java开发学习之旅------>解惑Java进行三目运算时的自动类型转换
今天看到两个面试题,居然都做错了。通过这两个面试题,也加深对三目运算是的自动类型转换的理解。 题目1.以下代码输出结果是()。 public class Test { public static void main(String[] args) { int a=5; System.
1016 0
下一篇
DDNS