news 2026/9/2 16:46:16

改错分析题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
改错分析题

文章目录

  • 一、程序分析题
    • 项目结构
    • 分析题01
    • 分析题02
    • 分析题03
    • 分析题04
  • 二、程序改错题
    • 项目结构
    • 改错题01
    • 改错题02
    • 改错题03
    • 改错题04
    • 改错题05
    • 改错题06

一、程序分析题

项目结构

分析题01

packageProgramAnalysis;/** * 写出这段代码在干什么: * 1. 定义一个二维数组arr,包含3行3列的整数。 * 2. 使用嵌套循环遍历数组,将所有元素累加起来。 * 3. 打印出累加结果。 */publicclassT1{publicstaticvoidmain(String[]args){int[][]arr={{10,20,30},{11,21,31},{12,22,32}};intsum=0;for(inti=0;i<arr.length;i++){for(intj=0;j<arr[i].length;j++){sum+=arr[i][j];}}System.out.println("sum="+sum);}}

运行结果:

分析题02

packageProgramAnalysis;/** * 写出这段代码在干什么: * 1. 定义一个整数A,初始值为54321,sum初始值为0,t初始值为10。 * 2. 使用while循环,当t大于0时,执行循环体。 * 3. 在循环体中,将A除以10的余数加到sum上,并将t加到sum上。 * 4. 将A除以10,将t除以10。 * 5. 循环结束后,打印出累加结果sum。 */publicclassT2{publicstaticvoidmain(String[]args){intA=54321,sum=0,t=10;while(t>0){sum+=A%10+t;A/=10;t/=10;}System.out.println(sum);}}

运行结果:

分析题03

packageProgramAnalysis;/** * 演示如何使用try-catch-finally结构来处理异常。 * 1. 尝试执行可能抛出异常的代码。 * 2. 捕获并处理特定的异常类型。 * 3. 捕获并处理其他所有类型的异常。 * 4. 无论是否发生异常,都会执行finally块中的代码。 */publicclassT3{publicstaticvoidmain(String[]args){try{intresult=divideNumbers(4,0);System.out.println("计算结果 = "+result);}catch(ArithmeticExceptione){System.out.println("捕获算术异常: "+e.getMessage());return;}catch(Exceptione){System.out.println("捕获其他异常: "+e.getMessage());return;}finally{System.out.println("执行finally块");}System.out.println("程序继续执行");}privatestaticintdivideNumbers(intdividend,intdivisor){if(divisor==0){thrownewArithmeticException("除数不能为零");}returndividend/divisor;}}

运行结果:

分析题04

packageProgramAnalysis;/** * 写出这段代码在干什么: * 1. 定义一个名为T4的公共类。 * 2. 在main方法中,创建一个名为doll的Doll对象,初始化名为"Kitty",年龄为2。 * 3. 打印出doll对象。 */publicclassT4{publicstaticvoidmain(Stringargs[]){Dolldoll=newDoll("Kitty",2);System.out.println(doll);}}classDoll{Stringname;intage;publicDoll(Stringname,intage){this.name=name;this.age=age;}publicStringtoString(){returnthis.name;}}

运行结果:

二、程序改错题

项目结构

改错题01

packageProgramErrorCorrecttion;publicclassT1{privateintage;privatestaticStringname;privateT1(){//构造方法}voidT1(intage){//构造方法this.age=age;}publicT1(StringuserName){// 构造方法name=userName;}}

修改后

packageProgramErrorCorrecttion;/** * 本题考察知识点:构造方法不能有返回值 p92 * */publicclassT1{privateintage;privatestaticStringname;privateT1(){//构造方法}// void T1(int age) { //构造方法// this.age= age;// }publicT1(intage){//构造方法不应有返回值this.age=age;}publicT1(StringuserName){//构造方法name=userName;}}

相关知识点:
1.构造方法名应与类名一致
2.构造方法不应有任何返回值类型声明
3.方法体内不允许返回任何值,但可以使用return作为结束跳转

改错题02

packageProgramErrorCorrecttion;publicclassT2{publicstaticvoidmain(String[]args){System.out.println(add(1,2));}privateintadd(inta,intb){returna+b;}}

修改后

packageProgramErrorCorrecttion;/** * 本题考察知识点:静态方法不能直接使用非静态方法 p102 * */publicclassT2{publicstaticvoidmain(String[]args){System.out.println(add(1,2));}// private int add(int a, int b) {// return a + b;// }privatestaticintadd(inta,intb){//静态方法只能调用静态方法returna+b;}}

相关知识点:
1.只有静态方法才能用类名.方法名调用
2.当一个类中有静态方法、变量时,改类的所有实例共享这个静态方法、变量

改错题03

packageProgramErrorCorrecttion;publicclassT3{abstractfloatcalculateArea(floatw,floath);voidprintInfo(){}staticfloatgetWidth(){return0;}}

修改后

packageProgramErrorCorrecttion;/** * 本题考察知识点:包含抽象方法的类必须声明为抽象类 p123 * */publicabstractclassT3{// 包含抽象方法的类必须为抽象类abstractfloatcalculateArea(floatw,floath);voidprintInfo(){}staticfloatgetWidth(){return0;}}

相关知识点:
1.包含抽象方法的类一定是抽象类
2.抽象类不一定包含抽象方法
3.子类必须重写父类的所有的抽象方法

改错题04

packageProgramErrorCorrecttion;publicclassT4{publicstaticvoidmain(String[]args){intresult=divide(4,0);System.out.println(result);}publicstaticintdivide(intx,inty)throwsException{intresult=x/y;returnresult;}}

修改后

packageProgramErrorCorrecttion;/** * 本题考察知识点:当调用的方法可能产生异常时,需显示声明抛出或处理异常 p148 * */publicclassT4{publicstaticvoidmain(String[]args)throwsException{intresult=divide(4,0);//对于可能抛出异常的函数,必须处理异常或者声明异常System.out.println(result);}publicstaticintdivide(intx,inty)throwsException{intresult=x/y;returnresult;}}

相关知识点:
1.包含抽象方法的类一定是抽象类
2.抽象类不一定包含抽象方法
3.子类必须重写父类的所有的抽象方法

改错题05

packageProgramErrorCorrecttion;publicclassT5{publicstaticvoidmain(Stringargs[]){bytea=-128;intb=666;floatc=3.14;doubled=0.618;chara=97;}}

修改后

packageProgramErrorCorrecttion;/** * 本题考察知识点:float与double不能自动转换,需显示声明数据类型,在数据末尾加F或D * 同一作用域内,变量名不能重复 p34 * */publicclassT5{publicstaticvoidmain(Stringargs[]){bytea=-128;intb=666;floatc=3.14f;//默认浮点数类型为double 所以需要显示声明为floatdoubled=0.618;chara2=97;//变量名重名}}

相关知识点:
相关知识点:
1.在同一命名空间中变量名不能重名
2.float与double数据类型不能自动转换,需要显示声明,在数据末尾加F或D

改错题06

packageProgramErrorCorrecttion;publicclassT6{publicstaticfinalStringSCHOOL_NAME="成都文理学院";publicstaticvoidmain(Stringargs[]){changeSchool("电子科技大学");System.out.println(SCHOOL_NAME);}staticvoidchangeSchool(Stringschool){T6.SCHOOL_NAME=school;}}

修改后

packageProgramErrorCorrecttion;/** * 本题考察知识点:被final修饰的变量不能被修改 p120 * */publicclassT6{publicstaticStringSCHOOL_NAME="成都文理学院";publicstaticvoidmain(Stringargs[]){changeSchool("电子科技大学");System.out.println(SCHOOL_NAME);}staticvoidchangeSchool(Stringschool){T6.SCHOOL_NAME=school;//final 修饰的变量不允许改变,只能初始化一次}}

相关知识点:
1.被final修饰的变量不允许修改
2.被final修饰的方法不允许被重写
3.被final修饰的类不允许被继承

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 5:21:11

【python大数据毕设实战】物联网网络安全威胁数据分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

作者头像 李华
网站建设 2026/9/2 11:22:14

AI 流式响应实战:从同步等待到实时推送

AI 流式响应实战&#xff1a;从同步等待到实时推送 在 IM 系统中集成 AI 时&#xff0c;流式响应能显著提升性能。本文介绍 AQChat 如何实现 AI 流式响应&#xff0c;从同步等待到实时推送。 一、为什么需要流式响应&#xff1f; 同步等待的问题 传统同步方式的问题&#xff1a…

作者头像 李华
网站建设 2026/9/3 4:04:47

【AI开发必备技能】:Open-AutoGLM依赖安装的8个关键步骤你掌握了吗?

第一章&#xff1a;Open-AutoGLM依赖安装概述Open-AutoGLM 是一个面向自动化自然语言任务的开源框架&#xff0c;支持模型调用、任务编排与结果解析。在使用该框架前&#xff0c;正确配置其运行环境和依赖项是确保功能正常执行的基础。本章介绍如何安装 Open-AutoGLM 所需的核心…

作者头像 李华
网站建设 2026/9/2 21:49:16

Open-AutoGLM Python依赖安装实战(从报错到零失败的完整流程)

第一章&#xff1a;Open-AutoGLM Python 依赖安装实战概述在部署 Open-AutoGLM 这一自动化语言模型推理框架时&#xff0c;正确配置 Python 环境是确保系统稳定运行的首要步骤。该框架依赖多个核心库&#xff0c;包括 PyTorch、Transformers 和 Accelerate&#xff0c;需通过包…

作者头像 李华
网站建设 2026/9/2 2:12:40

【大模型落地必看】:Open-AutoGLM离线配置9大坑,你避开了吗?

第一章&#xff1a;Open-AutoGLM离线部署全景解析Open-AutoGLM作为新一代开源自动代码生成模型&#xff0c;支持在无网络连接环境下完成本地化部署与推理&#xff0c;适用于企业级安全敏感场景。其离线部署方案兼顾性能优化与资源调度&#xff0c;能够灵活适配多种硬件平台。环…

作者头像 李华