请求大佬!JAVA中用substring创建一个新的字符串为什么IF判断就报错?

小肥羊不喜欢吃草 2021-02-11 11:20:21
由于我是先把键盘输入的数字转为String类型,然后用substring获取个位十位与自动生成的十位数进行判断

import java.util.Scanner;
class lotterygame{
public static void main(String[]args){
Scanner variable =new Scanner(System.in);
int bonus=(int)(Math.random()*90+10);//随机生产10-99的数字
String bonus1=bonus+"";//转化成String类型
String bonusone=bonus1.substring(0,1);//分别获取生成的数字个位
String bonustwo=bonus1.substring(1,2);//分别获取生成的数字十位

Scanner input =new Scanner(System.in);
int inputl=input.nextInt();//获取输入的数字
String input1=inputl+"";//转化成String类型
String inputone=input1.substring(0,1);//分别获取生成的数字个位
String inputtwo=input1.substring(1,0);//分别获取生成的数字十位

if(bonus1.equals(input1)){ //听说==判断不好则就用equals判断
System.out.println("10000");
}else if (bonusone.equals(inputtwo)&&bonustwo.equals(inputone)){//看生成的个位与输入的十

位是否相反。。
System.out.println("3000");
}else if (inputone.equals(bonusone)||inputtwo.equals(bonustwo)){
System.out.println("1000");
}else if (inputone.equals(bonusone)||inputone.equals(bonustwo)||

inputtwo.equals(bonusone)||inputtwo.equals(bonustwo)){
System.out.println("500");
}else{
System.out.println("没有钱钱");
}
System.out.println("中奖号码:"+bonus1);
}
}



错误信息:
Exception in thread "main" java.lang.StringIndexOut
ex out of range: -1
at java.lang.String.substring(String.java:1
at lotterygame.main(lotterygame.java:14)


输入了数字就报错



...全文
359 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2021-02-18
  • 打赏
  • 举报
回复
楼主神速
是赵敢敢啊 2021-02-18
  • 打赏
  • 举报
回复
String.substring有两种用法 第 一种用法是 substring(int x,int y): 这种的用法是从下标 x 到下标 y-1 之间的字符串,也就是说这个方法的区间是 [x,y). 第二种用法是 substring(int x): 这种方法是从下标 x 到字符串最后截取的,这种方法的区间是[x,str.length()] 两种用法属于方法重载, 即在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可 但是注意,数组参数和可变参不属于方法重载 例如:


      //1
      public void test(int x){}
      
      //2
      public void test(int[] arr){}

      //3
      public void test(int... arr){}

      //4
      public void test(int x,String str){}
这里边 2,3是同一个方法,不构成方法重载
  • 打赏
  • 举报
回复
已经解决了,就是类型不一致引发的问题,只要类型对了就不会报错!

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧