ITPub博客

首页 > 数据库 > 数据库开发技术 > 初学Java,遇错就懵,这类问题到底怎么处理呢?!

初学Java,遇错就懵,这类问题到底怎么处理呢?!

原创 数据库开发技术 作者:Finally_m 时间:2022-02-25 08:03:00 0 删除 编辑
点击上方蓝字关注我们

前言

众所周知,壹哥在干Java的路上已经越走越远,越陷越深,最近无意刷知乎时看到一位初学Java的迷惑少年,被报错干懵啦!!!

初学Java的同学,遇到报错一定不要慌,首先检查一下自己的代码,有没有手误造成的错误,然后看一下逻辑上有没有问题,接下来壹哥就带你看一下这位同学遇到的问题,自查一下你是否遇到过类似的情况呢?!

一. 异常现象

首先,问题提出甩出了两张截图,不知道有同学在不看老师讲解的时候能否看懂报错的原因呢?

问题所在:

初学Java的小伙伴们,大家快来围观啊,看看下面的问题:

二. 异常原因

其实这个问题!就是命名导致的问题!怎么个意思?命名还能导致问题?

给你举个例子:今天我跟我老婆讨论去谁家过年的问题。

  • 我:老婆,我妈问咱们,今年是在我妈这过年,还是去你妈那过年。

  • 老婆:(很生气)......你什么意思,咱们都结了婚了,你还跟我分你妈、我妈?!都是咱妈!!!给你重新组织语言的机会!

  • 我:(汗).......好好。那我说了哈,咱妈问咱们,今天是在咱家过年,还是在咱妈家过年。如果咱们在咱妈家过年,咱妈就提前准备点东西,让咱们带过去。如果咱们在咱妈家过年,咱们也准备点东西,让咱们给咱妈提前送过去。你定,咱们去哪个妈家过年,嘿嘿.......

以上代码中问题的产生原因,其实就是题主自己的定义的Scanner类名(咱妈),与Java自身的 java.util.Scanner(咱妈) 命名重名造成的问题!

三. 解决办法

那这个问题该如何解决呢?很简单,如下:

  • Java中定义的类名是Scanner,那么在本类中使用时,默认这个Scanner就是你自己定义的Scanner。因为类中默认有一个空参的构造器,所以,去掉System.in即可!

  • 如果你本意是使用jdk自带的Scanner输入管理对象,那么请加定语,即代码写成如下形式:

java.util.Scanner sc = new java.util.Scanner(System.in);
  • 或者修改本类的类名,不要与系统自带的类名相同,这样最简单。

现在你知道该怎么解决这个问题了吗?如果你还有其他问题,可以私信找我,壹哥手把手给你解决!

“学废”的同学,留言区扣:666

精选第一名,可以领取玻璃水杯一个哦!

点击【阅读原文】,从0开始学Java!

原文作者:Java架构栈;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-04-13

  • 博文量
    573
  • 访问量
    243834