Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java 软件设计基础 课后作业. School of Computer Science and Technology 0. 编程小贴士 A 准备好编程环境 准备好编程环境 – 输入代码 – 编译程序文件 – 运行编译后的文件.

Similar presentations


Presentation on theme: "Java 软件设计基础 课后作业. School of Computer Science and Technology 0. 编程小贴士 A 准备好编程环境 准备好编程环境 – 输入代码 – 编译程序文件 – 运行编译后的文件."— Presentation transcript:

1 Java 软件设计基础 课后作业

2 School of Computer Science and Technology 0. 编程小贴士 A 准备好编程环境 准备好编程环境 – 输入代码 – 编译程序文件 – 运行编译后的文件

3 School of Computer Science and Technology 程序中的错误 程序中的错误 – 编程时会遇到如下三种错误: 语法错误 – 语法格式上的错误,可被编译器发现; 逻辑错误 – 即我们常说的 “bug” ,意指编写的代码在执行后没有得到预期结果; 运行时错误 – 比较严重的逻辑错误,会阻止程序的继续运行。 只要我们一开始编程,就会惊讶的发现程序并不能恰好像原本设想的那样运行。 程序必须要经过调试。我记得有段时间我认识到了在我的编程生涯中,有很大一部 分时光是用于寻找程序中的错误。 ——Maurice Wilkes* ------------------- *Maurice Wilkes :世界上第一台存储程序式计算机 EDSAC 的研制者;第二届 (1967 年 ) 的图灵奖得主

4 School of Computer Science and Technology 一个完整的 Java Application 程序 一个完整的 Java Application 程序

5 School of Computer Science and Technology 学会方法的调用来简化程序 学会方法的调用来简化程序 – 在屏幕上画矩形 – 如果画两个呢?

6 School of Computer Science and Technology – 如果根据输入的需要画多个呢?

7 School of Computer Science and Technology 简单的获取输入 简单的获取输入 – Java 使用 System.in 表示标准输入设备。可通过 Scanner 类创建 对象读取来自 System.in 的输入。 整行语句创建一个 Scanner 对象 scan 。可以通过调用以下方法读取 输入: – next(): 读取一个字符串; – nextByte(): 读取 byte 类型的整数; – nextShort(): 读取 short 类型的整数; – nextInt(): 读取 int 类型的整数; – nextLong(): 读取 long 类型的整数; – nextFloat(): 读取 float 类型的数; – nextDouble(): 读取 double 类型的数。

8 School of Computer Science and Technology 1 第一次课后习题( 3 月 13 日) – 1-1 猜单词:给定单词数组(不少于 10 个),计算机随机选择其 中的一个,并显示单词长度。用户每次猜一个字母,如正确,将在 相应的位置显示出来,重复该过程,直至字母全部猜出,用户也可 以通过输入数字 0 来请求提示,此时计算机会随机选择一个尚未猜 出的字母显示出来。 例如随机单词为 apple ,计算机先打印 _ _ _ _ _ 用户输入 a ,计算机显示 a _ _ _ _ 用户输入 e ,计算机显示 a _ _ _ e 用户输入 0 ,计算机显示 a p p _ e (也可能是 a _ _ l e ) …… 作业于 3 月 30 日前发送至 renkx@ustc.edu.cn

9 School of Computer Science and Technology 2 第二次课后习题 2-1 在某个棋盘游戏中,有三种职业,战士,法师和弓箭 手。2-1 在某个棋盘游戏中,有三种职业,战士,法师和弓箭 手。 – 他们都具有生命、行动步长等特征,此外还有各自的属性, 如:战士拥有力量,法师拥有智力,弓箭手拥有敏捷; – 角色在 8×8 的棋盘上,可以横向或者纵向移动,但移动格子数 不能超过该角色的步长; – 角色每个回合可以选择移动或强化,当某个角色移到的目的 坐标点上已有角色时,则触发战斗; – 由于兵种间的相克关系,有战士对法师必输,法师对弓箭手必输,弓 箭手对战士必输;而当两个角色职业相同时,谁的特定属性与生命的乘 积大,则谁赢。 – 战士的强化方法使用后生命 +100 ;法师的强化方法使用后智力 +10 ; 弓箭手的强化方法使用后行动力 +2 。 作业于 4 月 15 日前发送至 renkx@ustc.edu.cn

10 School of Computer Science and Technology 3 第三次课后习题( 5 月 15 日) – 2-1 续 将上述棋类以用户图形界面的形式表现出来,初始化的时 候棋盘上玩家方与计算机方各拥有三枚棋子,分别位于西北角和东 南角,程序应具备以下功能: – 1. 棋盘和棋子的可视化表现; – 2. 可移动棋子并进行战斗 – 3. 每种角色的强化不要求实现 – 4*. 更进一步的,棋子并不能无限制的移动,感兴趣的同学可 以在上述基础上发挥想象力,规定移动规则,设计计算机方的 AI 等。 – ( * 为选作内容)


Download ppt "Java 软件设计基础 课后作业. School of Computer Science and Technology 0. 编程小贴士 A 准备好编程环境 准备好编程环境 – 输入代码 – 编译程序文件 – 运行编译后的文件."

Similar presentations


Ads by Google