java字符串in.next_in.nextInt();输入小数报错怎么办?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import java.util.*;

public class cqyx{

public static void main(String[] args){

System.out.println("====猜拳游戏====");

Scanner in=new Scanner(System.in);

Random com=new Random();

do{

System.out.println("请出拳:\n1.石头\n2.剪刀\n3.布");

try{

int a=in.nextInt();

}catch(Exception e){

System.out.println("请输入正确的选项");

continue;

}

int s=com.nextInt(3);

int t=0;//初始化电脑出拳变量

String tip="剪刀";//初始化提示变量

switch(s){

case 0:

t=1;

tip="石头";

break;

case 1:

t=2;

tip="剪刀";

break;

case 2:

t=3;

tip="布";

break;

}

if(a==0||a>=4){

System.out.println("请按规范出拳!");

}else if(a==t){

System.out.println("平局了哦!");;

}else if(a==1&&t==2){

System.out.println("你出的是石头,电脑出的

是"+tip+",你赢了");

}else if(a==1&&t==3){

System.out.println("你出的是石头,电脑出的

是"+tip+",你输了");

}else if(a==2&&t==1){

System.out.println("你出的是剪刀,电脑出的

是"+tip+",你输了");

}else if(a==2&&t==3){

System.out.println("你出的是石头,电脑出的

是"+tip+",你赢了");

}else if(a==3&&t==1){

System.out.println("你出的是布,电脑出的

是"+tip+",你赢了");

}else if(a==3&&t==2){

System.out.println("你出的是布,电脑出的

是"+tip+",你输了");

}

do{

System.out.println("1.再来一局\n2.我不玩了");

int z=in.nextInt();

if(z==1){

break;

}else if(z==2){

System.out.println("=====游戏结束

=====");

return;

}else if(z!=1&&z!=2){

System.out.println("请正确输入选项:");

}

}while(true);

}while(true);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java中的Scanner类来读取控制台输入,并使用Scanner类的hasNextInt()和hasNextDouble()方法来判断输入是否为整数或小数。如果输入字符串,则可以使用hasNext()方法。 例如: Scanner scan = new Scanner(System.in); if (scan.hasNextInt()) { System.out.println("输入的是整数"); } else if (scan.hasNextDouble()) { System.out.println("输入的是小数"); } else if (scan.hasNext()) { System.out.println("输入的是字符串"); } scan.close(); 代码中使用了Scanner类的实例scan来读取控制台输入,然后使用hasNextInt()、hasNextDouble()、hasNext()方法判断输入是否为整数、小数字符串。 ### 回答2: 通过Java程序判断控制台输入的是字符串还是整数可以使用Java的Scanner类和一些逻辑判断来实现。下面是一个简单的代码示例: ```java import java.util.Scanner; public class InputType { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个值: "); if (scanner.hasNextInt()) { // 判断输入是否为整数 int num = scanner.nextInt(); System.out.println("输入的是整数:" + num); } else if (scanner.hasNext()) { // 判断输入是否为字符串 String str = scanner.next(); System.out.println("输入的是字符串:" + str); } else { System.out.println("输入的不是有效的整数或字符串"); } scanner.close(); } } ``` 运行程序后,控制台会提示用户输入一个值。如果用户输入的是一个整数,程序会输出"输入的是整数:"并跟随用户输入的整数。如果用户输入的是一个字符串,程序会输出"输入的是字符串:"并跟随用户输入字符串。如果用户输入的既不是整数也不是字符串,程序会输出"输入的不是有效的整数或字符串"。 这个程序中使用了Scanner类的方法`hasNextInt()`来判断输入是否为整数,并使用`nextInt()`方法来获取输入的整数值。同时,使用了`hasNext()`方法来判断输入是否为字符串,并使用`next()`方法来获取输入字符串值。 希望以上内容能对您有所帮助,如果有任何疑问,请随时提问。 ### 回答3: 要通过Java程序判断控制台输入的是字符串还是整数,可以通过以下步骤实现: 1. 首先,需要使用Java的Scanner类来获取控制台输入。可以使用下面的代码创建一个Scanner对象: ```java Scanner scanner = new Scanner(System.in); ``` 2. 接下来,可以使用Scanner类提供的方法来读取控制台输入的值。可以使用`nextInt()`方法来读取一个整数值,使用`nextLine()`方法来读取一个字符串值。示例代码如下: ```java int num = scanner.nextInt(); // 读取一个整数 String str = scanner.nextLine(); // 读取一个字符串 ``` 3. 现在,可以使用异常处理来判断输入的是整数还是字符串。如果用户输入的是整数,那么`scanner.nextInt()`方法会正常执行;如果输入的是字符串,则会抛出`InputMismatchException`异常。可以使用异常处理机制来判断是否捕获到了异常,从而判断输入的是整数还是字符串。示例代码如下: ```java try { int num = scanner.nextInt(); // 读取一个整数 System.out.println("输入的是整数"); } catch (InputMismatchException e) { String str = scanner.nextLine(); // 读取一个字符串 System.out.println("输入的是字符串"); } ``` 通过以上步骤,就可以通过Java程序判断控制台输入的是字符串还是整数。如果没有抛出异常,则表示输入的是整数;如果捕获到了异常,则表示输入的是字符串

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值