news 2026/5/17 5:21:09

改错分析题

作者头像

张小明

前端开发工程师

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/10 19:18:01

Open-AutoGLM ModelScope镜像使用秘籍(仅限内部流传的6个高效技巧)

第一章&#xff1a;Open-AutoGLM ModelScope镜像的核心价值Open-AutoGLM 在 ModelScope 平台提供的镜像封装&#xff0c;极大简化了开发者部署与调用大语言模型的流程。该镜像集成了预配置环境、依赖库及优化后的推理引擎&#xff0c;使用户无需手动搭建复杂运行时即可快速启动…

作者头像 李华
网站建设 2026/5/15 9:13:16

GPU资源不足?如何在低成本虚拟机上成功部署Open-AutoGLM,抢占AI先机

第一章&#xff1a;GPU资源不足&#xff1f;重新定义低成本AI部署策略在AI模型日益庞大的今天&#xff0c;高性能GPU已成为训练和推理的标配。然而&#xff0c;对于中小团队或个人开发者而言&#xff0c;获取充足的GPU资源往往面临成本与可及性的双重挑战。面对这一现实&#x…

作者头像 李华
网站建设 2026/5/14 21:25:09

Open-AutoGLM环境搭建全攻略:手把手教你10分钟完成Python依赖部署

第一章&#xff1a;Open-AutoGLM环境搭建前的准备工作 在开始部署 Open-AutoGLM 之前&#xff0c;必须确保开发环境满足其运行依赖和系统要求。合理的前期准备不仅能提升安装成功率&#xff0c;还能避免后续调试过程中出现兼容性问题。 系统与硬件要求 操作系统&#xff1a;推…

作者头像 李华
网站建设 2026/5/16 15:41:05

Open-AutoGLM低配适配实战(性能提升800%的秘密武器)

第一章&#xff1a;Open-AutoGLM低配适配实战概述在资源受限的设备上部署大型语言模型&#xff08;LLM&#xff09;是当前AI工程化的重要挑战。Open-AutoGLM作为一款支持自动化量化与轻量化推理的开源框架&#xff0c;专为低配置环境设计&#xff0c;能够在CPU或低显存GPU上实现…

作者头像 李华
网站建设 2026/5/10 20:30:55

从零到一:麒麟操作系统学习之旅,国产系统的实用探索​

在数字化浪潮席卷全球的今天&#xff0c;操作系统作为信息技术的核心基石&#xff0c;其自主可控性愈发关键。从国家信息安全战略到企业数字化转型&#xff0c;再到个人日常使用&#xff0c;操作系统的选择直接关系到数据安全、业务稳定与使用体验。麒麟操作系统&#xff08;Ky…

作者头像 李华
网站建设 2026/5/16 11:43:21

【Open-AutoGLM离线部署终极指南】:手把手教你零联网配置AI大模型环境

第一章&#xff1a;Open-AutoGLM离线部署概述Open-AutoGLM 是一个基于 GLM 架构的开源自动化语言模型系统&#xff0c;支持本地化部署与私有化调用&#xff0c;适用于对数据隐私和响应延迟有严格要求的企业级应用场景。通过离线部署&#xff0c;用户可在无公网连接的环境中完成…

作者头像 李华