当前位置: 首页 > news >正文

改错分析题

文章目录

  • 一、程序分析题
    • 项目结构
    • 分析题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修饰的类不允许被继承

http://www.cnnetsun.cn/news/167102.html

相关文章:

  • 结构类算法题
  • 为什么你的Open-AutoGLM部署总失败?Docker最佳实践全解析
  • Open-AutoGLM安装总失败?深度解析Python依赖树中的隐藏陷阱
  • 软件测试生命周期管理的核心框架与实践策略
  • 计算机毕设java疫情背景下大学生宿舍管理系统 基于Java的疫情环境下高校宿舍智能化管理系统开发 疫情防控期间大学生宿舍管理的Java平台构建与应用
  • 别再有线连接了!Open-AutoGLM无线调试究竟有多强大?
  • Open-AutoGLM权限困境破解,一文搞定非root环境下的完整部署流程
  • 安卓13适配倒计时,Open-AutoGLM开发者必须掌握的8项声明式权限配置技巧
  • Open-AutoGLM模型下载加速指南(仅限内部使用的CDN加速方案曝光)
  • 复盘:我们是如何将测试周期缩短50%的
  • spring16,17-加载properties文件,容器
  • 黑客和程序员谁更胜一筹?从技术实力、就业范围到赚钱潜力的全方位对比
  • 揭秘Open-AutoGLM虚拟机部署难题:99%新手都会忽略的3个关键细节
  • Open-AutoGLM如何秒连WiFi?:工程师不会告诉你的4种高效方案
  • Open-AutoGLM模型拉取卡顿?:3步诊断+4大加速引擎推荐
  • 开题季救星:除了 paperzz,这 7 个 AI 工具能让你的报告 “一键丝滑”
  • RAG不死反进化:2025年大模型时代RAG技术架构与演进全解析
  • 基于51单片机智能老人防跌倒报警体温GSM短信上报
  • 基于51单片机云台控制系统电路设计
  • 基于51单片机手机无线蓝牙APP遥控智能车系统
  • Playwright 文件上传与下载完成判断全指南
  • Open-AutoGLM非root权限实战指南(99%人忽略的关键细节)
  • 从模糊到精准:Open-AutoGLM指令解析优化全流程详解,效率提升200%
  • 独家披露:顶尖AI工程师都在用的Open-AutoGLM Mac环境配置方案
  • Open-AutoGLM安装卡在第一步?这份保姆级图文指南必须收藏,错过再等一年
  • Open-AutoGLM操作序列优化实战(专家级调优技巧大公开)
  • 【大模型系统容错进阶指南】:Open-AutoGLM重试机制的7大设计模式
  • Open-AutoGLM坐标偏差高达2米?教你4种高效校正方法
  • 语义解析准确率提升关键路径,Open-AutoGLM最新迭代深度解读
  • 收藏!一文读懂RAG技术核心(附大模型从入门到实战全套学习礼包)