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

目录
相关文章
|
19天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
95 60
|
8天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
30 6
|
11天前
|
存储 Java 开发者
Java 中 Set 类型的使用方法
【10月更文挑战第30天】Java中的`Set`类型提供了丰富的操作方法来处理不重复的元素集合,开发者可以根据具体的需求选择合适的`Set`实现类,并灵活运用各种方法来实现对集合的操作和处理。
|
11天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
27 2
|
16天前
|
存储 算法 Java
Java零基础-charAt(int index)详解
【10月更文挑战第20天】Java零基础教学篇,手把手实践教学!
36 4
|
21天前
|
存储 算法 Java
Java零基础-charAt(int index)详解
【10月更文挑战第16天】Java零基础教学篇,手把手实践教学!
11 1
|
1月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
46 15
|
30天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
42 3
|
1月前
|
Java 编译器
Java“返回类型为 void 的方法不能返回一个值”解决
在 Java 中,如果一个方法的返回类型被声明为 void,那么该方法不应该包含返回值的语句。如果尝试从这样的方法中返回一个值,编译器将报错。解决办法是移除返回值语句或更改方法的返回类型。
|
1月前
|
Java
Java 中锁的主要类型
【10月更文挑战第10天】