news 2026/5/27 4:37:21

改错分析题

作者头像

张小明

前端开发工程师

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/5/26 6:33:48

前端失业4个月了,我该怎么办,心发慌

2025开年&#xff0c;AI技术打得火热&#xff0c;正在改变前端人的职业命运&#xff1a; 阿里云核心业务全部接入Agent体系&#xff1b; 字节跳动30%前端岗位要求大模型开发能力&#xff1b; 腾讯、京东、百度开放招聘技术岗&#xff0c;80%与AI相关…… 大模型正在重构技术开发…

作者头像 李华
网站建设 2026/5/26 20:29:21

依赖冲突频发?Open-AutoGLM安装难题,一文解决所有Python环境问题

第一章&#xff1a;Open-AutoGLM Python 依赖安装在开始使用 Open-AutoGLM 前&#xff0c;必须正确配置其运行所需的 Python 环境与依赖包。该框架基于现代深度学习生态构建&#xff0c;依赖若干核心库以支持模型加载、推理与自动化任务调度。环境准备 建议使用虚拟环境隔离项目…

作者头像 李华
网站建设 2026/5/26 6:38:32

Open-AutoGLM环境搭建全攻略(从零到上线的完整路径)

第一章&#xff1a;Open-AutoGLM环境搭建全攻略概述 在构建基于大语言模型的自动化系统时&#xff0c;Open-AutoGLM 作为一个开源框架&#xff0c;提供了从模型调用、任务编排到结果解析的一体化支持。为确保开发者能够快速上手并稳定运行该系统&#xff0c;正确的环境配置是首…

作者头像 李华
网站建设 2026/5/26 6:33:48

麒麟操作系统下DM数据库全栈实操指南:从安装配置到SQL开发实战

目录 一、环境准备与DM数据库静默安装&#xff08;麒麟V10&#xff09; 二、DM数据库实例初始化与核心配置 三、DM数据库备份与还原策略&#xff08;全量增量&#xff09; 四、DM数据库函数用法详解&#xff08;内置自定义&#xff09; 五、DM SQL程序设计思路与实战 六、…

作者头像 李华
网站建设 2026/5/27 4:27:03

Open-AutoGLM本地部署从入门到精通,企业级安全配置与性能优化全掌握

第一章&#xff1a;Open-AutoGLM本地部署指南Open-AutoGLM 是一款基于 AutoGLM 架构的开源自动化语言模型工具&#xff0c;支持本地化部署与私有化调用。通过在本地环境中运行该模型&#xff0c;用户可在无网络依赖的情况下完成文本生成、代码补全与智能问答等任务。环境准备 部…

作者头像 李华