首页 新闻 会员 周边 捐助

Java nextInt()

0
悬赏园豆:5 [待解决问题]

package com.beijing.javase;
import java.util.Scanner;
public class AB {
static int b;
public static void main(String[] args) {
AB u =new AB();
Scanner s =new Scanner(System.in);
int a =s.nextInt(9999)+1;

    b =a;
    int c,d=0;
    
    for(int i =1;a>=3;i++) {
        c = a/3;
        d = c+a%3;
        u.M(d);
        a=d;
        
    }
    System.out.print(b);

}

public int M(int d) {
    b+=d;
    return d;
}

}

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 9999
at java.lang.String.substring(Unknown Source)
at java.util.Scanner.buildIntegerPatternString(Unknown Source)
at java.util.Scanner.integerPattern(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at com.beijing.javase.AB.main(AB.java:8)

Henbres的主页 Henbres | 初学一级 | 园豆:194
提问于:2018-12-23 13:44

建议给代码加上高亮,博问支持 markdown 代码高亮语法

dudu 5年前
< >
分享
所有回答(1)
0

你这个nextInt(9999)意味着你会获取输入的9999位传给变量a
第一,你没有在下次输入中输入9999位的数据,第二,就算你输入了这么多位的数据,变量a也会放不下这么多数据

微澜 | 园豆:-1 (初学一级) | 2018-12-24 17:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册