实验题java
浙大JAVA实验题答案

实验8 Method的使用1.程序填空题,不要改变与输入输出有关的语句;50001输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和保留 4 位小数;s = 1 + 1/2 +....+ 1/n要求定义并调用函数factn计算n的阶乘;例:括号内是说明输入:2 repeat=22 n=210 n=10输出:public class Test50001 {public static void mainString args {int ri,repeat;int i,n;double s;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/-----------/s=0;for i=1;i<=n;i++s+=fact i;}}/---------------/static double fact int n {int i;double f=1;for i=1;i<=n;i++f=i;return f;}}50002输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…an个a之和;要求定义并调用函数fna,n,它的功能是返回aa…an个a;例如,fn3,2的返回值是33;例:括号内是说明输入2 repeat=22 3 a=2, n=38 5 a=8, n=5输出246 2+22+22298760 8+88+888+8888+88888imponner;public class Test50002{public static void mainString args{int ri, repeat;int i, n,a;long sn;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{a=;n=;/------------/sn=0;for i=1;i<=n;i++sn+=fn a,i;}}/------------/s tatic int fn int a,int n{int s=0;forint i=1;i<=n;i++s=s10+a;return s;}}50003输入一个正整数repeat 0<repeat<10,做repeat次下列运算:读入1 个整数,统计并输出该数中2的个数;要求定义并调用函数countdigitnumber,digit,它的功能是统计整数number中数字digit的个数;例如,countdigit10090,0的返回值是3;例:括号内是说明输入:3 repeat=3-219022345543输出:count=2 -21902中有2个2count=1 有1个2count=0 345543中没有2public class Test50003{public static void mainString args{int ri, repeat;int count;long n;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{n=;/---------/n=n;count=countdigit n,2;}}/------------/static int countdigit long number,int digit{....要求定义并调用函数fibn,它的功能是返回第n项Fibonacci数;例如,fib7的返回值是13;例:括号内是说明输入:3 repeat=31 10 m=1, n=1020 100 m=20, n=1001000 6000 m=1000, n=6000输出:1 123 5 8 1到10之间的Fibonacci数21 34 55 89 20到100之间的Fibonacci数1597 2584 4181 1000到6000之间的Fibonacci数public class Test50006{public static void mainString args{int ri,repeat;int i, m, n;long f;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{m=;n=;/---------/i=1;f=1;while f<=n{if f>=m " ";i++;f=fib i;}}}/------------/sta ti c long fib int n{ //返回第n项Fibonacci数int i;long a=1,b=1,f=1;for i=3;i<=n;i++{ //从第3项开始计算f=a+b;a=b;b=f;}return f;}}50007输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=10000,输出m 到n之间的所有完数完数就是因子和与它本身相等的数;要求定义并调用函数factorsumnumber,它的功能是返回number的因子和;例如,factorsum12的返回值是161+2+3+4+6;例:括号内是说明输入:2 repeat=220 500 m=100, n=4001 100 m=1, n=100输出:28 4961 6 28public class Test50007{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if i==factorsum i" ";}}/---------/static int factorsum int number{ //返回number的因子和int sum=0;if number==1sum=1;forint i=1;i<=number-1;i++if number%i==0sum+=i;return sum;}}50008输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=1000,输出m 到n之间的所有满足各位数字的立方和等于它本身的数;要求定义并调用函数isnumber判断number的各位数字之立方和是否等于它本身;例:括号内是说明输入:2 repeat=2100 400 m=100, n=4001 100 m=1, n=100输出:153 370 371 111+555+333=153; 333+777=370; 333+777+111=3711public class Test50008{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if is i" ";}}/---------///判断number的各位数字之立方和是否等于它本身static boolean is int number{int sum=0,n,digit;n=number;while n>0{digit=n%10;n=n/10;sum+=digitdigitdigit;}if number==sum return true;else return false;}}50009输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入一个整数,将它逆序输出;要求定义并调用函数reversenumber,它的功能是返回number的逆序数;例如reverse12345的返回值是54321;例:括号内是说明输入4 repeat=4123456 -100 -2 99输出654321-1-299public class Test50009{public static void mainString args{int ri,repeat;long n, res;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/---------/res=reverse n;}}/---------/static long reverse long number{//返回number的逆序数int flag=1;long a=0,digit;if number<0{flag=-1;number=-number;}while number>0{digit=number%10; //分离出个位数字a=a10+digit; //形成当前的逆序数number=number/10;}return flaga;}}50011输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入三个整数a、b和c,输出其中较大的数;要求定义和调用函数maxa, b, c找出a、b中较大的数,函数形参a、b和c的类型是int;输入输出示例:括号内是说明输入3 repeat=3输入:5 8 9 a=5, b=8-1 -10 -5 a=-1, b=-101 1 1 a=1, b=1输出:max5,8,9=9max-1,-10,-5=-1max1,1,1=1public class Test50011 {public static void mainString args {int ri, repeat;int a,b,c,maximun;Scanner in = new Scanner;repeat = ;for ri = 1; ri <= repeat; ri++ {a = ;b = ;c=;/-----------------/maximun=maximuna,b,c;Sy}}/-------------------/static int maximunint a,int b,int c{int max=a;ifmax<bmax=b;ifmax<cmax=c;return max;}}。
java试题练习(第2套)

大学 —— 学年第 学期 Java 程序设计 ?课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考察 □ B 卷 □ 开卷一、单项选择题〔20题;每题2分, 共40分〕 1.165/2的值是___。
A 〕0 B 〕82 C 〕3 D 〕83 答案: B 〔难度系数 C 〕知识点: 表达式 2.在HTML 中,用________标签来强制显示Applet 。
A 〕 name,height,width B 〕codebase, height,width C 〕 code, name D 〕 code, height,width 答案: D 〔难度系数B 〕 知识点: 小应用程序 3、 在Java Applet 程序用户自定义的Applet 子类中, 一般需要重载父类的_____方法来完成主类实例的初始化工作。
A 〕start( ) B 〕 stop( ) C 〕init( ) D 〕paint( ) 答案: C 〔难度系数C 〕 知识点: 小应用程序 4.创立一个标识有“关闭〞按钮的语句是___。
A 〕 TextField b = new TextField(“关闭〞); B 〕 Label b = new Label(“关闭〞);C 〕 Checkbox b = new Checkbox(“关闭〞);D 〕 Button b = new Button(“关闭〞);答案: D 〔难度系数C 〕 知识点: GUI 编程5、在编写异常处理的Java 程序中, 每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。
6.以下关于循环语句描述正确的选项是___。
班级:姓名: 学号:试题共页加白纸张密封线A〕for循环不可能产生死循环B〕while循环不可能产生死循环C〕for循环不能嵌套while循环D〕即使条件不满足do……while循环体内的语句也至少执行一次答案: D〔难度系数B〕知识点: 循环7、以下描述正确的选项是___。
java总复习实验题

实验一1)编写一个Java应用程序,实现向屏幕中输出下面一句话:“你好,这是我的第一个Java 程序”。
(P24第一章习题3)classHelloWorld{public static void main(String[] args){System.out.println("Hello World!");}}2)编写Java程序,从键盘上输入两个整数,并求这两个整数的最大公约数。
(P77第三章习题2)import java.util.Scanner;publicclass Maxyueshu {publicstaticvoid main(String[] args){ int a,b,h;Scanner scan = new Scanner (System.in);System.out.println("请输入两个整数:");a=scan.nextInt();b=scan.nextInt();h=f(a,b);System.out.println("两个整数的最大公约数为:"+h);}publicstaticint f(int m,int n){int r;r=m%n;while (r!=0){m=n; n=r; r=m%n;}return n;}}3)编写Java程序,输出从公元1900年到2010年所有闰年的年号,每输出两个年号换一行。
(P77第二章习题4)附:判断年号是否为闰年的条件:(1)若年号能被4整除,而不能被100整除,则是闰年;(2)若年号能被400整除也是闰年。
public class LeapYear{public static void main(String[] args){inti,t=0;for(i=1900;i<=2010;i++){if(i%400==0||i%4==0&&i%100!=0){System.out.print(i+" ");t++;if(t%2==0)System.out.print("\n");}}}4)给出下列程序的运行结果(P77第二章习题5)(1)public class OperatorOption {public static void main(String[] args){int a=3;int b=1;int c;c=a++*3;System.out.println("a="+a);System.out.println("c="+c);c=++a*3;System.out.println("a="+a);System.out.println("c="+c);c=a--*3;System.out.println("a="+a);System.out.println("c="+c);c=--a*3;System.out.println("a="+a);System.out.println("c="+c);}}(2)public class LogicalOption2 {public static void main(String[] args){int x=2,y=3;boolean t1,t2,t3;t1=x<y||++x<y;System.out.println("t1="+t1+",x="+x);t2=x>y&&x++<y;System.out.println("t2="+t2+",x="+x);t3=x>y|x++<y;System.out.println("t3="+t3+",x="+x);}}}实验二1)实验指导(P118第三章实验指导)实验一:定义一个学生类Student,成员变量包括:姓名、性别和出生日期。
实验二Java类编程实验

实验⼆Java类编程实验实验⼆Java类编程实验实验⽬的1.掌握Java类的基本定义和使⽤⽅法2.熟悉Java语⾔的基本语法和运⾏原理3.掌握Java的基本数据类型、表达式和程序控制结构4.熟悉Eclipse开发环境的基本使⽤⽅法实验内容1. 对象的创建和使⽤使⽤集成开发环境编写⼀个圆环类Ring的Java程序。
圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius 和颜⾊color,这些属性通过get和set⽅法进⾏封装。
另外,圆环类中的getArea⽅法可以返回其⾯积。
把程序中的代码补充完整,并查看结果。
public class Ring {private double innerRadius;private double outerRadius;private String color;public Ring(double iRadius, double oRadius, String c) { //初始化数据成员}//⽤get和set⽅法封装数据成员public double getArea() {}public static void main(String[] args) {Ring ring = new Ring(5,8,"red");System.out.println("圆环的内半径: " +ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea() + "\n");ring.setInnerRadius(4);//设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径: " + ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea());}}思考:1)将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring = newRing();修改后编译运⾏,此时有错误发⽣吗?分析错误的原因。
实验题目

实验一 Java语言概述【实验目的】1.掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。
2.熟悉Java应用程序的基本结构,并能联合编译应用程序所需要的类。
文件保存要求:在D:盘新建文件夹“学号”,在“D:\ 学号”下新建文件夹“timu1”。
题目1的文件保存在“timu1”中,以下依次类推。
【题目1】1、实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
2、程序模板:请按模板要求,将【代码】替换为Java程序代码。
3、实验后的练习a.编译器怎样提示丢失大括号的错误。
b.编译器怎样提示语句丢失分号的错误。
c.编译器怎样提示将System写成system这一错误。
d.编译器怎样提示将String写成string这一错误。
【题目2】1、实验要求:编写3个源文件:、、,每个源文件只有一个类。
含有应用程序的主类(含有main方法),并使用了Teacher和Student类。
将3个源文件保存到同一目录,D:\timu2,然后编译。
2、程序模板:请按模板要求,将【代码】替换为Java程序代码。
3、实验后的练习a.将编译通过后,不断地修改源文件中的【代码2】。
比如,在命令行窗口输出“我是语文老师”或“我是数学老师”。
要求每次修改源文件后,单独编译,然后直接运行应用程序(不要再编译)。
b.如果需要编译某个目录下的全部Java源文件,如D:\1001目录,可以使用如下命令:D:\1001>javac *.java请练习上述命令。
【题目3】1、实验要求:课本第15页习题2、实验后的练习习题8.(4)实验四类与对象【实验目的】1.掌握使用类来封装对象的属性和行为。
2.掌握对象的组合以及参数传递。
3.掌握类变量与实例变量,以及类方法与实例方法的区别。
文件保存要求:在D:盘新建文件夹“shiyan04”,在“D:\ 20120shiyan04”下新建文件夹“timu1”。
java课程设计实验报告题目

java课程设计实验报告题目一、教学目标本章节的教学目标旨在让学生掌握Java编程语言的基本语法、概念和编程技巧,培养学生具备基本的Java编程能力。
具体包括以下几个方面:1.知识目标:–理解Java编程语言的基本语法和结构;–掌握Java中的数据类型、运算符、控制语句、数组、字符串等基本概念;–了解Java面向对象编程的基本概念,如类、对象、封装、继承和多态;–熟悉Java编程语言的常用API和库。
2.技能目标:–能够运用Java编程语言编写简单的程序,解决实际问题;–掌握Java编程语言的调试技巧,能够找到并修复程序中的错误;–熟悉Java编程语言的编程规范和最佳实践。
3.情感态度价值观目标:–培养学生对编程语言的兴趣和好奇心,激发学生主动学习的动力;–培养学生解决问题的能力和创新思维,提高学生面对挑战的勇气;–培养学生团队合作的精神,增强学生沟通协作的能力。
二、教学内容根据教学目标,本章节的教学内容主要包括以下几个方面:1.Java编程语言的基本语法和结构;2.Java中的数据类型、运算符、控制语句、数组、字符串等基本概念;3.Java面向对象编程的基本概念,如类、对象、封装、继承和多态;4.Java编程语言的常用API和库;5.Java编程语言的编程规范和最佳实践。
三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:通过讲解和示例,让学生掌握Java编程语言的基本语法和概念;2.讨论法:通过小组讨论和问题解答,培养学生的思考能力和问题解决能力;3.案例分析法:通过分析实际案例,让学生了解Java编程语言在实际应用中的使用;4.实验法:通过编写和调试Java程序,让学生掌握Java编程技巧和调试方法。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将选择和准备以下教学资源:1.教材:Java编程语言的经典教材,用于引导学生学习和理解基本概念;2.参考书:提供额外的学习资料和实践案例,帮助学生深入掌握Java 编程语言;3.多媒体资料:通过视频教程和在线课程,提供直观的学习资源,帮助学生更好地理解Java编程语言;4.实验设备:提供计算机和编程环境,让学生能够进行实际编程练习和调试。
Java实验报告中的实验题

Java实验报告中的所有实验题实验一略实验二Java 基本语法练习【完成实验项目】1.输入一个整数,输出该数的二进制表示形式的字符串2.编写Java应用程序,把100~1000的自然数中能够被3整除的数输出到屏幕上。
3.打印小于1000的斐波纳契数4. 输入一个梯形的上底、下底和高,求其面积实验三面向对象基础编程【完成实验项目】1.写一个名为Rectangle的类表示矩形。
其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。
要求该类提供计算面积的方法getArea()方法,以及修改width和height的值及获得width和height当前值的方法。
要求:(1)使用构造函数完成各属性的初始赋值(2)使用getter和setter的形式完成属性的访问及修改2. . 请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face 和suit:face描述一张牌的牌面值(如:"Ace", "Deuce", "Three","Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King");suit描述一张牌的花色(如:"Hearts", "Diamonds", "Clubs", "Spades")。
定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值; 定义protected访问权限的方法getSuit(),得到扑克牌的花色; 定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“Ace of Hearts”、“Ten of Clubs”等)。
JAVA实验报告

JAVA实验报告实验题目:Java语言基础实验实验目的:1. 熟悉Java语言的基本语法,掌握Java程序的编写和运行方法;2. 掌握Java中的数据类型、运算符、流程控制语句等基本知识;3.提高对面向对象编程思想的理解和应用能力。
实验内容:1. 编写一个Java程序,输出“Hello, Java!”;2. 编写一个Java程序,声明变量并进行运算操作;3. 编写一个Java程序,实现条件判断和循环控制;4. 编写一个Java程序,定义类和对象,并进行方法调用。
实验步骤:1. 编写第一个Java程序,输出“Hello, Java!”:```javapublic class HelloWorldpublic static void main(String[] args)System.out.println("Hello, Java!");}```2. 编写第二个Java程序,声明变量并进行运算操作:```javapublic class Calculationpublic static void main(String[] args)int a = 10;int b = 5;int sum = a + b;int difference = a - b;int product = a * b;double quotient = (double) a / b;System.out.println("Sum: " + sum);System.out.println("Difference: " + difference); System.out.println("Product: " + product); System.out.println("Quotient: " + quotient);}```3. 编写第三个Java程序,实现条件判断和循环控制:```javapublic class Conditionalpublic static void main(String[] args)int num = 10;if (num > 0)System.out.println("Positive number");} else if (num < 0)System.out.println("Negative number");} elseSystem.out.println("Zero");}for (int i = 1; i <= 5; i++)System.out.println("Count: " + i);}}```4. 编写第四个Java程序,定义类和对象,并进行方法调用:```javapublic class PersonString name;int age;public void introducSystem.out.println("Name: " + name);System.out.println("Age: " + age);}public static void main(String[] args)Person person1 = new Person(; = "Alice";person1.age = 25;person1.introduce(;Person person2 = new Person(; = "Bob";person2.age = 30;person2.introduce(;}```实验结论:通过本次实验,我进一步熟悉了Java语言的基本语法和编程思想,掌握了Java程序的编写和运行方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 简单Java程序调试✧基本题1)编写一个程序输出如下图案****** ************* *** ********* ** ****** ** ****** ** ****** ** ************ ** ** ****** ** ** ****** ** ** ********* **************2)编制applet程序,绘制一个长120、宽80的红色矩形,并在矩形内部绘制一个兰色内切椭圆。
✧提高题1)编写一个应用程序绘制一个如下的操作菜单。
*****************************| 1. 增加1个学生 || 2. 显示所有学生 || 3. 退出程序 || 请输入选择(1-3): |*****************************2)创建一个applet程序,绘制两个同心圆,园心显示“同心”两个汉字。
实验2 分支、循环程序设计✧基本题1)从键盘输入4个学生的成绩,找出最高分和最低分。
【提示】引入两个变量分别存放最高分和最低分,根据比较改变这两个变量值。
2)写一个程序输入一个整数n,输出相应三角形。
例如:N=4,则三角形如下:##########3)编写一个程序,用于输出Fibonacci数列的前20项。
4)输入一个百分制分数,输出其对应的五分制成绩,包括:优、良、中、及格、不及格。
5) 计算算式: 1-1/2+1/3-1/4+1/5-…-1/1006)输出九九乘法表,格式如下:1*1=1 1*1=2 1*3=3 ……2*1=1 2*2=2 2*3=3 …………9*1=1 9*2=18 9*3=27 ……✧提高题1)设有一元二次方程如下:aX2+bx+c=0试根据从键盘输入的a,b,c求解方程的根。
【提示】要考虑各种情形:一是a为0的情形,方程根为-c/b。
还有就是根据判别式Δ=b2 - 4ac进行判断,如果Δ.>0有两个实根;Δ=0,有一个实根;Δ<0,无实数解。
另外,求x的平方根可用Math.sqrt(x)方法。
2) 输入某人的应纳税所得额,计算个人所得税。
税率表如下:计算公式是:应纳个人所得税税额=应纳税所得额×适用税率-速算扣除数例:王某当月应纳税所得额6400元。
则应纳个人所得税税额=6400×20%-375=905元。
3)编写一个猜数的应用程序,用随机函数产生一个10到99的随机数。
根据猜中使用的次数x计算得分。
每次猜完给出是大于还是小于的提示。
注:得分计算办法:110-x*10 ;(其中,x为猜的次数)4)找出1~100之间拥有除数最多的数。
【提示】在一定范围内找目标数,所以总体上是一个循环问题。
对于每个被检测的数,要统计出其拥有除数的个数,这又是个循环问题,也就是在外循环内有内循环。
为了求出拥有除数最多的哪个数,还涉及比较问题,所以要引入两个变量记下符合条件的这个数以及最多拥有的除数个数,在每次考察一个数的除数个数后要与最多者进行比较,从而决定是否要修改最多者。
5)编写一个人与计算机对拿火柴的游戏程序。
利用随机函数Math.random()产生火柴数量(20~50),每次最多拿3根,拿到最后一根为胜者。
要求:游戏过程要显示火柴总数,选择谁先拿;每步要显示剩余火柴数量,以及计算机拿的数量,并提示用户输入拿多少;结束时显示谁是胜者。
【解题算法提示】(1) 产生火柴总数(amount);(2) 决定随先拿(whoplay:1--人, 2--计算机);(3) 定义一个变量保存剩余火柴数量(remain)=amount ;(4) 当remain>0 循环4.1 根据whoplay的值决定是计算机拿x根还是提示人拿x根;计算机拿时最好带有智能,人拿时要限制输入数量。
4.2 修改 whoplay的值;4.3 修改remain的值;(5) 根据whoplay的值决定胜者6)某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析: A、B至少有一人作案; A、E、F三人中至少有两人参与作案; A、D不可能是同案犯; B、C或同时作案,或与本案无关; C、D中有且仅有一人作案;如果D没有参与作案,则E也不可能参与作案。
试编一程序,将作案人找出来。
实验3 数组、方法程序设计✧基本题1)利用求n!的方法计算 2!+4!+5!的值。
分别利用递归和非递归方法实现求n!。
2)编写根据三条边求三角形面积的方法。
利用该方法求以下两个三角形面积。
(1)三条边分别为:3,4,5(2)三条边分别为:5.3, 6.2, 83)从命令行参数获取两个整数,找出两个整数之间的所有素数,每行输出3个数。
4)利用随机函数产生20个学生的英语成绩存入一个数组中●输出数组所有元素,每行输出3个数;●求最高分、最低分;●求平均成绩。
5)产生Fibonacci数列的头20项存入一个一维数组中,按每行4个输出数组的元素。
6)利用随机函数产生36个10~30之间的整数给一个6*6的矩阵赋值.●求最大元素值,指出其在矩阵中的所有出现位置;●求该矩阵的转置矩阵。
✧提高题1)利用求素数的方法,就6~20之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。
2)分别编写一个方法求两个整数的最大公约数和最小公倍数,输入两个整数,计算这两个整的最大公约数和最小公倍数。
3)产生20个范围为0~50之间的不重复随机整数存入到一个数组中,将数组中元素按由小到大输出,并求数组所有元素的平均值。
【提示】每产生一个整数要跟前面已产生的数进行比较,如果已存在,则不算,要重新产生,可以用一个循环来控制产生一个新数,只有产生的数未出现过,才能出循环。
4)利用随机函数产生36个随机整数给一个6*6的二维数组赋值。
求出所有鞍点,鞍点的条件是该元素在所在行是最大值,在所在列是最小值。
【提示】先找出行上最大的元素,然后在判断该元素在所在的列上是否是最小的。
5)利用排序算法将一数组按由小到大排列,输入一个数据,查找在数组中是否存在,采用“折半查找”加快查找速度。
所谓“折半查找”就是先与中间位置元素进行比较,如果小于中间位置的元素,则在其上半部的中间位置继续查找,否则在下半部的中间位置查找,该过程反复进行,直到找到或发现不存在为止。
实验4 类与对象编程✧基本题1)利用随机函数定义10对(x,y)值,由此创建的Point类实例存入一个数组中,按与原点(0,0)的距离由小到大的顺序输出所有的点及到原点的距离。
2)编写一个三角形类,能根据3个实数构造三角形对象,如果三个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形。
输入任意三个数,求构造的三角形面积。
✧提高题1)编程根据一个已存在的链表创建一个倒序链表。
利用如下方法实现一个链表的倒序。
static Link reverse( Link list ) {Link rev = null;Link runner = list;while (runner != null) {Link newNode = new Link;newNode.data = runner.data;newNode.next = rev;rev = newNode;runner = runner.next;}return rev;}2)设计一个扑克洗牌算法。
将52张牌(不包括大、小王)用对象的形式表示,每张牌包括花色和大小。
大小按如下序号排列:(2、3、4、5、6、7、8、9、10、J、Q、K、A),花色为:♠、♣、♥、♦,首先将扑克按顺序存放到一个一维数组中,然后按洗牌算法进行洗牌,最后,按东、南、西、北进行分发,显示扑克时将同一花色放在一起。
实验5 继承与多态基本题1)编写一个抽象类表示形状,其中有一个求面积的抽象方法。
继承该抽象类编写三角形、圆、矩形类,创建一个数组存放创建的各类图形对象,输出图形面积。
2)编写一个复数类,能进行复数的加、减、乘和求模运算,其中,加、减、乘运算提供了两种形式,一种是对象方法,将当前复数与参数中的复数进行运算,返回一个新的复数对象,另一种是静态方法,将两个参数代表的复数进行运算。
另外设计toString()描述复数对象,通过实际数据测试类的设计。
3)方法调用匹配测试class methodMatch{double x=5,y=6;void test( double y ){System.out.println(y);test(this); //转换匹配哪个方法}public String toString(){return x+","+y;}void test( String a){System.out.println(a);}void test( Object a){System.out.println(a);}public static void main(String args[]) {methodMatch a=new methodMatch ();a.test(8);a.test("hello");}}分析以上程序运行结果,删除test(String)方法后结果如何?加入一个test(int)方法执行结果又如何?最后,总结方法调用的匹配原则。
4)定义一个接口,其中包含一个display()方法用于显示信息;通知类、汽车类、广告类均要实现该接口显示“通知内容”,“汽车油量”,“广告消息”。
试编程实现并测试该模型。
创建的对象用接口引用,并执行接口的display()方法。
提高题1)分别下面程序中x的访问权限进行修改,测试访问许可。
修改包括:private,protected,public以及无访问控制符4种情形。
程序1:同一类情形(文件accessTest.java)package testclass accessTest{static int x=8;public static void main(String args[]) {Sys s tem.out.println(x);}}程序2:同一包情形(文件samePackage.java)package testclass accessTest{static int x=8;}class samePackage {public static void main(String args[]) {Sysstem.out.println(accessTest .x);}}程序3:不同包的其他类情形文件1:accessTest.javapackage test;public class accessTest{static int x=8;}文件2:anotherPackage.javaimport test.*;class anotherPackage {public static void main(String args[]) {Sysstem.out.println(accessTest .x);}}程序4:不同包的子类情形文件1:accessTest.javapackage test;public class accessTest{static int x=8;}文件2: subclass.javaimport test.*;class subclass extends accessTest {public static void main(String args[]) {Sysstem.out.println(accessTest .x);}}总结各种访问修饰符的作用。