为啥我用java.util.Scanner会报错

来源:7-1 编程练习

孟嘉鸣

2021-09-16 13:53

import java.util.Scanner;

public class HelloWorld {

    public static void main(String[] args) {

        //创建String数组,并为每一个元素赋值。赋值内容为第几周+学习内容

        String[] contentList = new String[35];

        contentList[0] = "【第1周】环境搭建与语法入门";

        contentList[1] = "【第2周】Java语法之循环、数组与方法";

        contentList[2] = "【第3周】面向对象之封装与继承";

        contentList[3] = "【第4周】面向对象之单例模式与多态";

        contentList[4] = "【第5周】常用工具类(上)";

        contentList[5] = "【第6周】常用工具类(下)";

        contentList[6] = "【第7周】常用工具类(下)";

        contentList[7] = "【第8周】前端基础之HTML与CSS";

        contentList[8] = "【第9周】前端基础之JavaScript与综合案例";

        contentList[9] = "【第10周】Java Web基础";

        contentList[10] = "【第11周】Java Web基础";

        contentList[11] = "【第12周】常用功能与过滤器";

        contentList[12] = "【第13周】监听器与项目实战";

        contentList[13] = "【第14周】监听器与项目实战";

        contentList[14] = "【第15周】MySQL基础";

        contentList[15] = "【第16周】MySQL基础";

        contentList[16] = "【第17周】Java数据库开发基础";

        contentList[17] = "【第18周】框架前置知识";

        contentList[18] = "【第19周】MyBatis基础";

        contentList[19] = "【第20周】MyBatis实现OA系统项目实战";

        contentList[20] = "【第21周】MyBatis实现OA系统项目实战";

        contentList[21] = "【第22周】Linux环境搭建与Redis应用";

        contentList[22] = "【第23周】Spring基础";

        contentList[23] = "【第24周】Spring基础";

        contentList[24] = "【第25周】Spring基础";

        contentList[25] = "【第26周】SSM开发社交网站";

        contentList[26] = "【第27周】Spring Boot电商项目实战";

        contentList[27] = "【第28周】Spring Boot电商项目实战";

        contentList[28] = "【第29周】面试";

        contentList[29] = "【第30周】多线程与分布式";

        contentList[30] = "【第31周】多线程与分布式";

        contentList[31] = "【第32周】Spring Cloud基础";

        contentList[32] = "【第33周】Spring Cloud电商实战";

        contentList[33] = "【第34周】Spring Cloud电商实战";

        contentList[34] = "【第35周】Zookeeper+Dubbo应用与面试";

        //提示信息

        System.out.print("您要开始第几周学习啦,直接输入数字吧:");

        //设置变量存储接收到的数据

        int n = new Scanner(System.in).nextInt(); 

        //int n = 11;

        //计算今天是几月(1-月第一周、4-月第4周)

        int m ;

        m = (n/4)+1;

        

        //计算输入的周是这个月的第几周

        int w ;

        w = n%4;

        //提示信息

        System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");

        System.out.println("=======================================");

        

        //利用for循环,找到数组中对应这个月的内容输出

        for(int i=(m-1)*4 ; i < (m*4) && i < contentList.length; i++){

        

            //根据当前月第几周,在输出此行时,前面添加“√”

            if (i == n-1){

                System.out.println("√"+contentList[i]);

            }

            else {

                System.out.println(contentList[i]);

            }

        }    

    }

}


报错:

Exception in thread "main" java.util.NoSuchElementException

at java.util.Scanner.throwFor(Scanner.java:862)

at java.util.Scanner.next(Scanner.java:1485)

at java.util.Scanner.nextInt(Scanner.java:2117)

at java.util.Scanner.nextInt(Scanner.java:2076)

at HelloWorld.main(HelloWorld.java:45)


注释掉“int n = new Scanner(System.in).nextInt(); ”,用“int n = 11;”就是对的。


写回答 关注

1回答

  • 孟嘉鸣
    2021-09-16 13:54:24
    import java.util.Scanner;public class HelloWorld {    public static void main(String[] args) {        //创建String数组,并为每一个元素赋值。赋值内容为第几周+学习内容        String[] contentList = new String[35];        contentList[0] = "【第1周】环境搭建与语法入门";        contentList[1] = "【第2周】Java语法之循环、数组与方法";        contentList[2] = "【第3周】面向对象之封装与继承";        contentList[3] = "【第4周】面向对象之单例模式与多态";        contentList[4] = "【第5周】常用工具类(上)";        contentList[5] = "【第6周】常用工具类(下)";        contentList[6] = "【第7周】常用工具类(下)";        contentList[7] = "【第8周】前端基础之HTML与CSS";        contentList[8] = "【第9周】前端基础之JavaScript与综合案例";        contentList[9] = "【第10周】Java Web基础";        contentList[10] = "【第11周】Java Web基础";        contentList[11] = "【第12周】常用功能与过滤器";        contentList[12] = "【第13周】监听器与项目实战";        contentList[13] = "【第14周】监听器与项目实战";        contentList[14] = "【第15周】MySQL基础";        contentList[15] = "【第16周】MySQL基础";        contentList[16] = "【第17周】Java数据库开发基础";        contentList[17] = "【第18周】框架前置知识";        contentList[18] = "【第19周】MyBatis基础";        contentList[19] = "【第20周】MyBatis实现OA系统项目实战";        contentList[20] = "【第21周】MyBatis实现OA系统项目实战";        contentList[21] = "【第22周】Linux环境搭建与Redis应用";        contentList[22] = "【第23周】Spring基础";        contentList[23] = "【第24周】Spring基础";        contentList[24] = "【第25周】Spring基础";        contentList[25] = "【第26周】SSM开发社交网站";        contentList[26] = "【第27周】Spring Boot电商项目实战";        contentList[27] = "【第28周】Spring Boot电商项目实战";        contentList[28] = "【第29周】面试";        contentList[29] = "【第30周】多线程与分布式";        contentList[30] = "【第31周】多线程与分布式";        contentList[31] = "【第32周】Spring Cloud基础";        contentList[32] = "【第33周】Spring Cloud电商实战";        contentList[33] = "【第34周】Spring Cloud电商实战";        contentList[34] = "【第35周】Zookeeper+Dubbo应用与面试";        //提示信息        System.out.print("您要开始第几周学习啦,直接输入数字吧:");        //设置变量存储接收到的数据        int n = new Scanner(System.in).nextInt();         //int n = 11;        //计算今天是几月(1-月第一周、4-月第4周)        int m ;        m = (n/4)+1;                //计算输入的周是这个月的第几周        int w ;        w = n%4;        //提示信息        System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");        System.out.println("=======================================");                //利用for循环,找到数组中对应这个月的内容输出        for(int i=(m-1)*4 ; i < (m*4) && i < contentList.length; i++){                    //根据当前月第几周,在输出此行时,前面添加“√”            if (i == n-1){                System.out.println("√"+contentList[i]);            }            else {                System.out.println(contentList[i]);            }        }        }}


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165574 学习 · 17587 问题

查看课程

相似问题