Java软件设计基础 课后作业
0. 编程小贴士A 准备好编程环境 输入代码 编译程序文件 运行编译后的文件
程序中的错误 编程时会遇到如下三种错误: 语法错误 逻辑错误 运行时错误 语法格式上的错误,可被编译器发现; 逻辑错误 即我们常说的“bug”,意指编写的代码在执行后没有得到预期结果; 运行时错误 比较严重的逻辑错误,会阻止程序的继续运行。 只要我们一开始编程,就会惊讶的发现程序并不能恰好像原本设想的那样运行。程序必须要经过调试。我记得有段时间我认识到了在我的编程生涯中,有很大一部分时光是用于寻找程序中的错误。 ——Maurice Wilkes* ------------------- *Maurice Wilkes:世界上第一台存储程序式计算机EDSAC的研制者;第二届(1967年)的图灵奖得主
一个完整的Java Application程序
学会方法的调用来简化程序 在屏幕上画矩形 如果画两个呢?
如果根据输入的需要画多个呢?
简单的获取输入 Java使用System.in表示标准输入设备。可通过Scanner类创建对象读取来自System.in的输入。 整行语句创建一个Scanner对象scan。可以通过调用以下方法读取输入: next():读取一个字符串; nextByte():读取byte类型的整数; nextShort():读取short类型的整数; nextInt():读取int类型的整数; nextLong():读取long类型的整数; nextFloat():读取float类型的数; nextDouble():读取double类型的数。
1 第一次课后习题(9月13日) 1-1 猜单词:给定单词数组(不少于10个),计算机随机选择其中的一个,并显示单词长度。用户每次猜一个字母,如正确,将在相应的位置显示出来,重复该过程,直至字母全部猜出,用户也可以通过输入数字0来请求提示,此时计算机会随机选择一个尚未猜出的字母显示出来。 例如随机单词为apple,计算机先打印_ _ _ _ _ 用户输入a,计算机显示a _ _ _ _ 用户输入e,计算机显示a _ _ _ e 用户输入0,计算机显示a p p _ e(也可能是a _ _ l e) …… 作业于9月30日前发送至renkx@ustc.edu.cn
2.1 试设计超市收银台类,该类具有以下属性和方法: 2 第二次课后习题(10月11日) 2.1 试设计超市收银台类,该类具有以下属性和方法: 特质: 该类可以维护最多10条收银通道; 当目前存在的所有通道人数长度均大于等于8时,则增开一条收银通道; 当有的通道无人排队时,关闭该收银通道; 因为各个通道之间有护栏相隔,所以顾客一旦进入收银通道,不能离开队列; 并完成以下功能: 每次由键盘接受目前即将加入排队的顾客数目: 由于人们的排队心理,每个人依次将选择人少的通道加入; 每次输入人数后, 各开放的通道同时各有一位顾客付款结束离开; 返回当前开放的总收银通道数和各通道长度; 作业于10月18日前发送至renkx@ustc.edu.cn
设计单词集合类WordSet,该类实现以下功能: 3. 第三次课后习题 设计单词集合类WordSet,该类实现以下功能: 从内容为英文的文件word.txt中读取所有单词; 将单词统一改为小写格式,并去重,统计词频(即每个单词出现的频率); 提供方法randomWord,可随机抽取一个单词,返回值为String 进一步的: 关于如何统计词频,最简单的可以建立数组,每次读出一个单词都在数组中查找,但效率非常低下; 采用和设计合适的数据结构是关键。
大作业 将第一次作业的猜单词,以GUI的形式展现出来。 (备选题)一个简单的二十一点程序: 设纸牌的图案存在当前目录下,分别为:spade1.jpg~spade13.jpg/heart1.jpg~heart13.jpg/club1.jpg~club13.jpg/diamond1~diamond13分别为黑桃、红心、梅花,方块的A~K,以及一张背面图案deck.jpg; 点击开始后计算机会随机分到三张牌,玩家会随机分到两张牌。计算机牌以背面显示;玩家牌则正面显示。 2~10分别为2到10点,J/Q/K为10点,A既可以当1,也可以当10,即当牌中有A且不会超出21点的情况下,应该选择A的值为10来计数; 按钮区有加牌和亮牌两种。选择加牌,则会随机抽取一张牌分给玩家,并显示在牌区,选择亮牌,则会将计算机方牌亮出,并显示输赢结果。 注:一副牌中,已经抽取过的牌,不应重复出现;计算机方只用初始的三张牌计数,不会再发牌。