j a v a基础第1,2,3次作业-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
第一次作业
1.编写程序,从输入对话框读入double型的华氏温度,将其转化为摄氏温度,并在消息对话框中显示结果
摄氏温度 = (5/9)* (华氏温度-32)
2.编写程序,读入三角形的三条边,如果输入有效,计算它的周长;否则显示输入无效。如果任意两边的和大于第三边,输入有效
第二次作业
1.假设今年某大学的学费为10000美元,学费年增长率为5%。使用循环语句编写程序,计算10年后的学费。编写另外一个程序,统计从现在开始后的十年算起,四年内学费的总费用是多少
2.使用下述方法头,编写一个将大写字母转换成小写字母的方法Public static char upperCaseToLowerCase(char ch)
第三次作业
1.编写一个程序,读入10个数字,计算它们的平均值并且找出有多少个数字在平均值以上
2.编写以下方法,按升序显示三个数
Public static void sort(double num1,double num2,double num3)
2014年3月份考试Java程序设计第一次作业及答案 答案:一、单项选择题(50分,共 20 题,每小题 2.5 分) 1. D 2. C 3. B 4. A 5. D 6. A 7. D 8. B 9. B 10. A 11. A 12. A 13. D 14. A 15. C 16. C 17. C 18. D 19. B 20. A 二、判断题(50分,共 20 题,每小题 2.5 分) 1. √ 2. × 3. √ 4. × 5. √ 6. √ 7. √ 8. √ 9. √ 10. × 11.× 12. × 13. √ 14. × 15. × 16. √ 17. √ 18. × 19. √ 20. √ 一、单项选择题(本大题共50分,共 20 小题,每小题 2.5 分) 1. 在某类的子类中,下述方法中必须要实现的方法是() A. Public double methoda(); B. Static void methoda (double d1) {} C. Public native double methoda(); D. Abstract public void methoda(); 2. 给定File f=new File("aa.txt");可以实现向文件尾部读写的是() A. RandomAccessFile f1=new RandomAccessFile(f,"r"); B. RandomAccessFile f1=new RandomAccessFile(f,"a"); C. RandomAccessFile f1=new RandomAccessFile(f,"rw"); D. RandomAccessFile f1=new RandomAccessFile(f,"w"); 3. 以下由do-while语句构成的循环执行的次数是() int k = 0; do { ++k; }while ( k < 1 ); A. 一次也不执行 B. 执行1次 C. 无限次 D. 有语法错,不能执行 4. 给定类Demo定义如下 下列描述中正确的是() A. 新生成Demo对象时coumt的值为0 B. 新生成Demo对象时coumt的值未定义
1. 题目:从键盘上输入两个正整数m和n,求其最大公约数和最小公倍数,必须判断输入数的正确性(比如非正整数等必须提示)。[选题人数:3] 2. 题目:给出一个月的总天数 编写程序,提示用户输入月份和年份,然后显示这个月的天数。例如,如果用户输入的月份是2而年份是2000,那么程序应显示“2000年2月有29天”。如果用户输入的月份为3而年份为2005,那么程序就应该显示“2005年3月有31天”。(提示:必须判断是否是闰年)[选题人数:3] 3. 题目:计算一个三角形的周长 编写程序,提示用户从键盘输入三角形的三条边,如果输入值合法就计算这个三角形的周长,否则,显示这些输入值不合法(如果任意两条边的和大于第三条边,那么输入值都是合法的)。[选题人数:3] 4. 题目:奖金发放问题 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?[选题人数:3] 5. 题目:打印金字塔形的数字 编写一个嵌套的for循环,打印下面的输出。 1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 16 8 4 2 1 1 2 4 8 16 32 16 8 4 2 1 1 2 4 8 16 32 64 32 16 8 4 2 1 1 2 4 8 16 32 64 128 64 32 16 8 4 2 1 [选题人数:2] 6. 题目:十进制转换成二进制或十六进制 编写程序,从键盘上输入一个十进制整数,然后显示对应的二进制值或十六进制值。在这个程序中不要使用Java的Integer.toBinaryString(Int)或Integer.toHexString(Int)这两个方法。[选题人数:4] (其中2个选十进制转二进制,2个选十进制到十六进制) 7. 题目:回文整数 编写一个程序,提示用户输入一个整数值,然后报告这个数是否是回文数(例如131,逆向结果也是131)。判断回文数的函数如下: //返回一个数是否是回文数 public static Boolean isPalindrome(int number) [选题人数:3] 8.题目:回文素数 回文素数是指一个数同时为素数和回文数。例如:131是一个素数,同时也是一个回文数。数字313和757也是如此。编写程序,显示前100个回文素数,每行显示10个数并且准确对齐,如下所示: 2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929 ……. …. …. ………………. [选题人数:3] 9. 题目:打印不同的数
第1 、2章 【程序1】 判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序2】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序3】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序4】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序5】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 【程序6】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序7】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 【程序8】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 【程序9】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
一、选择题 1.以下的选项中能正确表示Java语言中的一个整型常量的是()。 A) 12. B) -20 C) 1,000 D) 4 5 6 2.下列的变量定义中,错误的是()。 A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100; 3.下列程序段执行后c的结果是()。 int a = 9, b = 11, c; c= a != b ? a+b : a-b; A) –2 B) 20 C) 11 D) 9 4.下列方法定义中,正确的是()。 A) int x( ){ char ch='a'; return (int)ch; } B) void x( ){ ...return true; } C) int x( ){ ...return true; } D) int x( int a, b){ return a+b; } 5. 为了定义三个整型数组a1、a2、a3,下面声明正确的语句是()。 A)intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5}; B)int [ ] a1,a2; int a3[ ]={1,2,3,4,5}; C)int a1,a2[ ]; int a3={1,2,3,4,5}; D)int [ ] a1,a2; int a3=(1,2,3,4,5); 二、填空题 1. 定义数组,需要完成以下三个步骤,即:________、_______和________ 。 2 在Java语言中,所有的数组都有一个_________属性,这个属性存储了该数组的元素的个数(数组长度)。 3、对象的软件开发方法用___把数据和基于数据的操作封装在一起。 4、______是一个特殊的方法,用于对类的变量进行初始化。 5、stract关键字能修饰_____、_____。 三、简答题 1、java程序分为哪两类,两类的区别是什么? 2、怎样编译和执行java程序? 3、Java中数据类型有哪些,使用的关键字是什么? 4、变量和内存之间的关系是什么?写出访问内存数据的方法 5、什么是优先级和结合律? 四、程序题 1、下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。 __________ void paint(Graphics g) { g.____________("你好!",10,20); } 2、下面方法的功能是判断一个整数是否为偶数,将程序补充完整。 public ________ isEven(int a) { if(a%2==0) return _____; else return false; } 3、阅读程序,回答问题。 import java.awt.*; import java.applet.Applet; import java.awt.event.*;
练习: 1.为类设计一个静态方法,实现检查输入字符串是否为”回文”.的功能 Boolean IsPalindrome(String poem) 2.用随机数对象产生0---1000范围内的不同整数,用以初始化一个M*N的二维数组(M*N<100),然后编程找出二维数组中的最大数和最小数,并将其交换位置。要求输出原始二维数组及交换后的二维数组。 3.设计一个类,并为其添加一个带有一个参数的构造函数,同时封装一个方法。当连续调用该方法时,依次产生下列元素输出 第一次调用输出:5 7 4 8 9 1 第二次调用输出:1 5 7 4 8 9 第三次调用输出:9 1 5 7 4 8 第四次调用输出:8 9 1 5 7 4 第五次调用输出:4 8 9 1 5 7 第六次调用输出:7 4 8 9 1 5 第一次调用输出:5 7 4 8 9 1 4.输入出租车公里数,输出应付的车费数: 收费标准如下:3000米以下为8元,每超过500米增加1.2元,不足500米按500米计算。 5.竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米。 6.输入一个英文字符串,统计出其中各字符出现的次数,并以下列样式输出: a=?,b=?,c=?,d=?,e=? f=?,g=?,h=?,i=?,j=? …… 7.写一个实例方法,要求输入一个整数m ,并输出1---m之间满足下列条件的所有整数:这个数+1 是一个完全平方数,他的一半+1也是一个完全平方数。 8.设计一个类Complex,用于封装对复数的下列操作: 8.1.一个带参数的构造函数,用于初始化复数成员 8.2.一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。 8.3. 实现两个复数的加法,减法的静态方法和实例方法。 8.4.以复数的标准形式:x+iy输出此复数 8.5. 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。 9.写一个静态函数,返回给定整数n的所有因子 10.输入一个十六进制字符串,写一函数,将其转换为对应的十进制数。 11.设计一个只能创建一个唯一实例的类。 12.设计一个类,该类用于表示现代中国的一个典型家庭:father,mother,child. 并为其添加一个无参的构造函数和带三个参数的构造函数以及三个读写属性和 一个get(int member )方法,当member=FATHER时,返回 父亲的姓名;member=MOTHER时,返回母亲的姓名;member=CHILD时,返回 孩子的姓名;FATHER,MOTHER,CHILD 为常数。 13.巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序, 根据输入的北京时间输出相应的巴黎和纽约时间。 14.写一函数,实现用某一字符c 去填充字符串的左部,使其长度为恰好为L PadLeft(String s,int L,char c),同理,实现PadRight((String s,int L,char c) 用字符c 填充串s 的右部,使其长度恰好为L. 15. 写一方法,用于删除字符串中所有空格(不仅仅是两端的空格),并返回没有空格的字
Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5
int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name
第1题:简易绘图程序 绘图应用程序。利用学过的GUI 方法实现一个较为完整的绘图应用程序。用户可以选择要画的图形(如线,椭圆,圆,矩形,弧,圆角矩形,多边形,折线等等),选择画笔颜色和画笔粗度,用鼠标单击和拖拽等动作绘图,并能将绘图结果保存为jpg和bmp格式。参考界面(可自己设计)如下:【最大选题人数:5】 第2题:计算器 设计一个计算器应用程序,用于进行简单的加减乘除四则运算。要求能对输入的算式判断运算符优先级,允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、平方、立方等。参考界面(可自己设计)如下:【最大选题人数:5】 第3题:设计一个万年历系统 设计一个万年历系统,实现以下功能:【最大选题人数:3】 (1)可以查看当前的年份、月份和日期;
(2)有时间栏,便于用户查看当前时间; (3)能够查找1至9999年的日期与星期的关系。 其它功能可自行开发。 第4题:一个简单的算法演示程序 选择一个算法(提供选择见下)、利用各种方法(图形、界面)演示算法的计算过程。总体要求: (1)可以进行手动演示,也可以自动步进式演示。 (2)允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。 (3).使用图形界面,要符合日常软件使用规范设置菜单和界面。 可参考算法: 1.最小生成树算法:Prim算法、Kruskal算法。允许一下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。 2.单源最短路算法:Disjkstra算法。允许一下方式如数一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。 3.最优编码算法:Huffman编码算法。允许用户输入一段英文文字,或者打开一个txt 文档(英文内容),据此文档内容进行编码。要求动态列出每个字符的出现概率统计结果以及对应编码。 4.演示汉诺塔问题:设计并实现一个求解Hanoi 塔问题的图形版程序。允许用户设置解题所使用的圆盘数。用户应当能以两种主要的方式与程序交互。一是可以在程序确认合法的情况下用鼠标将圆盘从一个塔座移到另一个塔座。二是可以用暂停/继续按钮观看解题过程的动画,并且允许用户控制动画速度。 5.排序算法执行流程演示:在Applet画面中演示某排序算法的执行流程,演示支持手动和自动两种方式,手动方式是用鼠标点击显示各步进展;自动靠软件延时控制。 延时值通过Applet参数或在界面中通过文本框控件设置。 6.其他可供演示的具有一定难度的算法:如数据结构中二叉树的树形操作演示效果、关键路径问题、有向图的极大连通分支等。 【每个参考算法最大选题人数:2,这道题的最大选题人数:15】
《Java语言》课程作业 (第一次) 题目第8题 学院计算机学院专业 班别 学号 姓名陈聪 2015年4月22日
一、课程题目 8、题目:回文素数 回文素数是指一个数同时为素数和回文数。例如:131是一个素数,同时也是一个回文数。数字313和757也是如此。编写程序,显示前100个回文素数,每行显示10个数并且准确对齐,如下所示: 2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929 ……. …. …. ………………. [选题人数:3] 二、题目分析与设计 1、题目的需求:编写程序,显示前100个回文素数,每行显示10个数并且准确对齐。 2、制定对应程序的功能: (1)将2以后的素数挑选出来,直到显示完前100个回文素数:利用for循环。 (2)判断挑选出来的素数是否为回文数:通过将原素数倒置再与原素数比较来判断。 (3)输出回文素数,同时判断是否要换行,通过确定位数来使回文素数准确 对齐。 3、(1)程序功能层次图: (2)程序结构流程图: