Java实验报告中的实验题
- 格式:doc
- 大小:30.83 KB
- 文档页数:4
Java实验题目(1) .编写Java应用程序,定义byte、short、int、Iong、float、double、char和boolean等类型的数据并用一个输出语句输出,要求每行输出一个数据。
(2) .编写Java小应用程序,输出两行字符串:“ Jav很有趣。
”和努力学习Java编程。
”,输出的起点坐标是(20, 20),行距是50像素。
(3) .使用算术运算符得到一个4 位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
(4) .编写Java 小应用程序,用三目条件运算符求程序中给定的4个double 数的最大值和最小值并输出结果。
实验报告题:使用算术运算符得到一个 4 位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
1、数据类型与表达式的使用自己编写程序测试各种运算符的使用。
例如,以下程序是测试Java的数据类型:public class UseVarible {public static void main(String args [])boolean b = true;short si = 128;int i = -99;long l = 123456789L;char ch = 'J';float f = 3.1415925F;double d = -1.04E-5;String s = "你好!";System.out.println("布尔型变量b="+ b);System.out.println(” 短整型变量si="+ si);System.out.println("整型变量i="+ i);System.out.println("长整型变量匸"+ l);System.out.println("字符型变量ch="+ ch);System.out.printin("浮点型变量f="+ f);System.out.println("双精度型变量d="+ d);System.out.println("字符型对象s="+ s);2、数组的创建与使用编写并运行P.23例1-5,例1-6。
好的,以下是一个关于Java实验题目的回答,约1500字:实验题目:设计一个简单的计算器应用程序一、实验目的:1. 掌握Java语言的基本语法和面向对象编程思想。
2. 掌握控制流语句(如if-else、for、while等)的使用。
3. 理解面向对象编程的基本概念,如类、对象、方法、继承等。
二、实验环境:1. 操作系统:Windows 10。
2. Java开发环境:JDK 1.8。
3. 开发工具:Eclipse IDE。
三、实验步骤:1. 创建一个新的Java项目,命名为Calculator。
2. 在项目中创建一个名为Calculator的类,作为主类,包含main()方法作为程序的入口点。
3. 在Calculator类中添加一个构造函数,用于初始化变量和设置初始状态。
4. 添加两个私有变量:运算符(operator)和数字(num)。
运算符用于存储运算符符号(+, -, *, /等),数字用于存储要计算的数值。
5. 添加一个公共方法add(),用于实现加法运算。
在该方法中,使用控制流语句(如if-else)根据运算符进行加法运算,并返回结果。
6. 添加一个公共方法subtract(),实现减法运算的逻辑与add()方法类似。
7. 添加一个公共方法multiply(),实现乘法运算的逻辑与add()方法类似。
8. 添加一个公共方法divide(),实现除法运算的逻辑与add()方法类似。
注意,在除法运算中需要处理除数为零的情况。
9. 在main()方法中编写测试代码,调用add()、subtract()、multiply()和divide()方法进行运算,并输出结果。
10. 运行程序,观察结果是否符合预期。
四、实验代码示例:```javapublic class Calculator {private char operator; // 运算符private int num; // 数字public Calculator(char operator, int num) { // 构造函数this.operator = operator;this.num = num;}public int add(Calculator num) { // 加法运算方法int result = this.num + num.num;return result;}public int subtract(Calculator num) { // 减法运算方法int result = this.num - num.num;return result;}public int multiply(Calculator num) { // 乘法运算方法int result = this.num * num.num;return result;}public int divide(Calculator num, int divisor) { // 除法运算方法(处理除数为零的情况)if (divisor == 0) { // 除数为零时抛出异常或返回特殊值throw new IllegalArgumentException("除数不能为零");} else {int result = this.num / divisor;return result;}}}```五、实验总结:通过本次实验,我们掌握了Java语言的基本语法和面向对象编程思想,了解了控制流语句的使用,并实现了简单的计算器应用程序。
面向对象程序设计(Java)实验报告实验四数组指导教师:赵丹姓名:刘坤(贵州民大)学号:专业:信息管理与信息系统日期:2015-04-22一、实验目的:熟悉Java数组的创建、初始化、遍历、排序等操作。
二、实验内容:1、将一个给定的整型数组转置输出,例如:源数组,1 2 3 4 5 6转置之后的数组,6 5 4 3 2 1。
2、现在有如下的一个数组:int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ;3、现在给出两个数组:数组a:“1,7,9,11,13,15,17,19”;数组b:“2,4,6,8,10”两个数组合并为数组c,按升序排列。
4、自己出一个和本章有关的有趣的题目,并编程解答。
三、实验步骤、分析与结论:1、将一个给定的整型数组转置输出,例如:源数组,1 2 3 4 5 6转置之后的数组,6 5 4 3 2 1。
①java程序如下:public class ArraySwap {public static void main(String[] args){int oldArr[]=new int[]{1,2,3,4,5,6};System.out.println("转置前的数组为:");printArray(oldArr); //输出一维数组int newArr[]=new int[oldArr.length];for(int i=0;i<oldArr.length;i++){newArr[i]=oldArr[oldArr.length-1-i];}System.out.println("转置后的数组是:");printArray(newArr);}private static void printArray(int[] oldArr){for(int i=0;i<oldArr.length;i++){ //遍历数组System.out.print(oldArr[i]+" ");}System.out.println();}}②在cmd中编译并执行程序的结果如下图所示:图12、现在有如下的一个数组:int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ;①java程序如下:public class DelZero {public static void main(String[] args){int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};System.out.println("原一维数组是:");for(int i=0;i<oldArr.length;i++){System.out.print(oldArr[i]+" ");}int newArr[]=new int[oldArr.length];int k=0; //计算新数组的下标变量for(int i=0;i<oldArr.length;i++){if(oldArr[i]!=0){newArr[k]=oldArr[i];k++;}}System.out.println('\n'+"去0后的一维数组是:");for(int q=0;q<k;q++){System.out.print(newArr[q]+" ");}}}②在cmd中编译并执行程序的结果如下图所示:图23、现在给出两个数组:数组a:“1,7,9,11,13,15,17,19”;数组b:“2,4,6,8,10”两个数组合并为数组c,按升序排列。
第二章Java语法基础【实验目的】(1) 常量、变量与数据类型a. 掌握Java的常量、变量声明及使用方法b. 掌握Java各种数据类型的使用c. 掌握基本的输入输出函数(2) 运算符与表达式a. 掌握算术运算、关系运算、逻辑运算,及优先关系b. 掌握表达式的使用(3) 常用系统类a. 基本输入输出类的使用b. 掌握Math类的使用(4) 类及其方法的使用a. 掌握类的定义和方法调用【实验范例】1、数据类型范例publicclass DataTypeDemo {publicstaticvoid main(String args[]) {byte b = 0x55;short s = 0x55ff;int i = 1000000;long l = 0xffffL;char c = 'a';float f = 0.23F; //此行0.23后的F可否去掉,为什么?double d = 0.7E-3; //可否将0.7E-3变换为另一种等值方式来表示boolean B = true;String S = "这是字符串类数据类型";System.out.println("字节型变量 b = " + b);System.out.println("短整型变量 s = " + s);System.out.println("整型变量 i = " + i);System.out.println("长整型变量 l = " + l);System.out.println("字符型变量 c = " + c);System.out.println("单精度变量 f = " + f);System.out.println("双精度变量 d = " + d);System.out.println("布尔型变量 B = " + B);System.out.println("字符串类对象 S = " + S);}}2、运算符与表达式(1)数值运算范例publicclass NumCalcDemo {publicstaticvoid main(String args[]) {int a = 8, b = 5;//除法运算System.out.println( a+"/"+ b +" = " + a/b);System.out.println( a+"/"+(-b)+" = " + a/-b);System.out.println(-a+"/"+ b +" = " + -a/b);System.out.println(-a+"/"+(-b)+" = " + -a/-b);//取模运算System.out.println(a +"%"+ b +" = " + a%b);System.out.println(a +"%"+(-b)+" = " + a%-b);System.out.println(-a+"%"+ b +" = " + -a%b);System.out.println(-a+"%"+(-b)+" = " + -a%-b);//自加运算System.out.println(++a + "+" + b + "=" ++ +a + b); //此行会出现什么错误提示,请修正System.out.println(++a + "+" + b + "=" +(++a) + b);System.out.println(a++ + "+(" + (-b) + ")=" + +(++a) + b); //为使得输出的表达式正确,此处应该怎么改System.out.println(- ++a + "+" + b + "=" + - ++a + b);System.out.println(- a++ + "+" + (-b) + "=" + -a++ + -b);}}(2)关系运算与逻辑运算范例publicclass OperationDemo {publicstaticvoid main(String args[]) {int a = 25, b = 3;boolean d = a<b;System.out.println(a+"<"+b+" = "+d);int e = 3;d = (e!=0 && a/e>5);System.out.println(e+"!=0&&"+a+"/"+e+">5 = "+d);int f = 0;d = (f!=0 && a/f>5);System.out.println("d=" + d);d = (a/f>5 && f!=0); //有错,如何修正?System.out.println("d=" + d);}}【预备知识】1、控制台输出Java从控制台输出可使用以下方法:System.out.print()System.out.println()2、控制台输入Java从控制台输入的3种方式:(1) 用System.in.read()获取"单个"字符import java.io.*; //导入Input/Output数据包publicclass CharInputDemo {publicstaticvoid main(String [] args) throws IOException//抛出IO异常{System.out.print("Enter a Char:");char i = (char) System.in.read();System.out.println("your char is :"+i);}}(2) 用BufferedReader类和InputStreamReader类获取"字符串"import java.io.*;publicclass StreamReaderDemo {publicstaticvoid main(String [] args) throws IOException{ BufferedReader br = new BufferedReader(newInputStreamReader(System.in));String str = null;System.out.println("Enter your value:");str = br.readLine();System.out.println("your value is :"+str);}}(3) 使用Scanner类读入"字符串"import java.util.*; //导入java.util工具包publicclass ScannerDemo {publicstaticvoid main(String [] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入你的姓名:");String name = sc.nextLine();System.out.println("请输入你的年龄:");int age = sc.nextInt();System.out.println("请输入你的工资:");float salary = sc.nextFloat();System.out.println("你的信息如下:");System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);sc.close(); //关闭输入流}}注:(1) (2)需要抛出异常:throws IOException(3) 比较灵活,建议使用3、常用系统类:ng包:String类、Math类(使用方法请参考教材Java常用系统类),String类使用实例在下一章介绍。
淮海工学院计算机工程学院实验报告书课程名:《Java语言实验与课程设计指导》题目:实验3——深入面向对象编程班级:学号:姓名:实验题目:1.定义一个学生类,定义一个大学生类和小学生类,这两个类是学生类的子类;定义一个选课接口,由大学生类实现该接口,定义一个年龄异常处理,当小学生年龄小于7岁时,弹出异常。
2.定义一个银行卡类,定义一个信用卡类和普通银行卡类,这两个类是银行卡类的子类;定义一个透支的接口,信用卡可以透支,普通银行卡不可以透支。
定义一个取款异常和透支异常,当普通银行卡取款超过银行卡余额时,弹出“取款异常”;当信用卡透支超过2万元时弹出“透支异常”。
实验代码:题1源代码:import java.awt.*;class student{String number,name,sex,bj;int age;student(String xuehao,String xingming,String xingbie,int nianling,String banji){number=xuehao;name=xingming;sex=xingbie;age=nianling;bj=banji;}}interface xuanke{abstract void select(String s);}interface illegal{abstract void illegal(int s);}class primary extends student implements illegal{String xx;primary(String xuehao,String xingming,String xingbie,int nianling,String banji,String xiaoxue){super(xuehao,xingming,xingbie,nianling,banji);}public void illegal(int s){age=s;if(age<7)System.out.println("\n出错~学生"+name+" 的年龄过小!");}}class college extends student implements xuanke{String dx,xk;college(String xuehao,String xingming,String xingbie,int nianling,String banji,String daxue){super(xuehao,xingming,xingbie,nianling,banji);dx=daxue;}public void select(String s){xk=s;}}public class test_1{public static void main(String args[]){primary p1=new primary("1","张三","男",13,"五(1)班","ZZZ小学");System.out.println(p1.number+" "++" "+p1.sex+" "+p1.age+" "+p1.bj+" "+p1.xx);p1.illegal(p1.age);primary p2=new primary("\n2","小红","女",6,"一(1)班","YYY小学");System.out.println(p2.number+" "++" "+p2.sex+" "+p2.age+" "+p2.bj+" "+p2.xx);p2.illegal(p2.age);college c1=new college("3","小茗","女",20,"软件112","XXX大学");c1.select("现代密码学");System.out.print("\n"+c1.number+" "++" "+c1.sex+" "+c1.age+" "+c1.bj+" "+c1.dx+" "+c1.xk+"\n");}}实验结果:题2源代码:import java.util.*;class bankcard{String kh,name;double yue;bankcard(String kahao,String yezhu,double shengyu) {kh=kahao;name=yezhu;yue=shengyu;}}interface touzhi{abstract void tz(double s);abstract void tzye(double s);abstract void illegal();}interface qkillegal{abstract void illegal();}class common extends bankcard implements qkillegalcommon(String kahao,String yezhu,double shengyu){super(kahao,yezhu,shengyu);}public void warning(){System.out.println("普通银行卡不可透支!");}public void illegal(){System.out.println("取款超额!");}}class xinyongka extends bankcard implements touzhi{double tzye;xinyongka(String kahao,String yezhu,double shengyu){super(kahao,yezhu,shengyu);}public void tz(double s){tzye=s;}public void tzye(double s){double t=20000+yue-s;if(s>yue)System.out.println(t);}public void illegal(){System.out.println("透支超额!");}}public class test_3{public static void main(String args[]){common c1=new common("62226200240001916658","张三",1200.00);System.out.println("卡号:"+c1.kh+"业主:"++"余额:"+c1.yue);System.out.println("请输入取款金额:");Scanner s1=new Scanner(System.in);double b=s1.nextDouble();if(b<c1.yue){double c=c1.yue-b;System.out.println("银行卡余额为:"+c);}elsec1.illegal();System.out.println("\n\n");xinyongka x1=new xinyongka("62236200243008615559","李四",500.00);System.out.println("卡号:"+x1.kh+"业主:"++"余额:"+x1.yue);System.out.println("信用卡可透支!透支金额为20000元!");System.out.println("请输入要取款金额:");Scanner s2=new Scanner(System.in);double a=s2.nextDouble();if(a<=x1.yue){double d=x1.yue-a;System.out.println("银行卡余额为:"+d);}else if(a>x1.yue&&a<=(20000+x1.yue)){System.out.println("透支余额剩余:");x1.tzye(a);}elsex1.illegal();}}实验结果:普通银行卡类:输入普通银行卡取款金额若输入金额小于余额则若大于余额则信用卡类:输入取款金额,若输入金额小于余额则若输入金额大于余额小于透支金额与余额之和,则若大于透支金额与余额之和,则。
实验一熟悉NetBeans IDE 平台,开发环境及Java编程实验目的:1、我们使用的开发平台是NetBeans IDE,希望通过本次实验同学们能对NetBeans IDE 的开发环境有一个清楚的了解并能熟练运用,对Java语法进行初步运用,对面向对象的编程有一个直观的认识和深入理解,对于Java的基础知识进行理解运用和巩固。
为以后的实验中能够进行开发程序打下基础。
2、通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP方式进行程序设计的方法,了解类的继承性和多态性的作用。
实验内容:● 1. 编写一个体现面向对象思想的程序。
● 2. 编写一个创建对象和使用对象的方法的程序。
● 3. 编写一个显示当前日期和时间的程序。
● 4. 编写不同成员变量修饰方法的程序。
● 5. 编写不同成员方法修饰方法的程序。
● 6. 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。
●7. 编写体现类的多态性(成员方法重载、构造方法重载)的程序。
实验步骤:●双击桌面上的NetBeans IDE 6.5.1快捷方式或在文件菜单中打开它。
图1-1点击文件,创建新项目,创建一个项目名:experiment1。
点击按钮下一步:在项目名称处输入:experiment1 然后点击完成:在experiment1 下实现程序项目experiment1样例1:编写应用程序输出如下三角形。
****************【参考程序】public class Star{public static void main(Stringa[]){System.out.println(" *");System.out.println(" ***");System.out.println(" *****");System.out.println("*******");}}程序运行结果如图1-2所示。
Java实验综合实验及练习第一部分:编程题1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=5)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。
4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。
评分规则:分数为60~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。
5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。
写一个程序测试这个类6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
7、编写一个完整的Java Application 程序。
包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:⑴、接口Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长⑵、类 MyRectangle :实现Shape 接口,并有以下属性和方法:① 属性width : double 类型,表示矩形的长height : double 类型,表示矩形的高② 方法MyRectangle(double w, double h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”⑶、类MyTriangle :实现Shape 接口,并有以下属性和方法:① 属性x,y,z: double 型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)② 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋初值。
第五章Java语言异常处理--实验题目一、实验目的1. 掌握Java的异常处理机制。
2. 掌握try、catch、throws和finally这5个关键字的用法。
3. 掌握成员的几个异常类。
4. 掌握自定义异常的使用。
二、实验内容1.编写程序,从键盘上输入两个数。
将第一个数除以第二个数并显示结果;处理所有可能的异常。
2.写出下面程序运行的结果:3.写出下列程序的输出结果。
//Test01.javapublic class Test01{public static void main(String[[]args){try{for(int i=0;i<3;i++){System.out.println(”The value of i:”+i);System.out.println(5/i);}}catch(ArithmeticException e){System.out.println(”Division by zero.”);}for(int i=0;i<3;i++){try{System.Out.println(”The value of i:”+i);System.out.println(5/i);}catch(ArithmeticException e){System.out.println(”Division by zero.”);}}}}4.有下列程序://Test02.javapublic class Test02{public static void main(strin虻]args){String foo=args[[1~;String bar=args[-2~;String baz=args[-3~;}}若用下面方式执行该程序,则baz的值为( )。
java Test Red Green Blue(A)“”(B)null (C)"Red” (D)”BIue”(E)”Green”(F)代码不能编译(G)程序抛出异常5.有下列程序://Fool.javapublic class Foo1 {public static void main(String args[]){try{return;} finally {System.out.println((”Finally”);}}}该程序的输出结果为( )。
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.实验设备:提供计算机和编程环境,让学生能够进行实际编程练习和调试。
实验报告1实验目的2实验原理3实验软件环境(Java虚拟机)(相关软件windows xp,Java软件开发工具包jsdk)4实验内容与步骤(部分源程序,运行结果,调试情况分析)5实验结论实验一:Java语言基础一、实验目的:1了解jdk的安装与使用,熟悉Java的运行环境。
2熟练掌握Java中数据类型,运算符,表达式及流程控制语句。
3掌握数组的定义、建立及使用方法4熟悉Java一般程序的结构。
通过以上的内容掌握Java语言的编程规则。
字符型、数值型转换的方法标识符的命名规则基本数据类型变量的声明、初始化,常量的使用二、实验原理:Java是一种跨平台的程序设计语言,java程序可分为Java Application程序和Java Applet 程序二种。
Java Application程序是可以直接在java虚拟机上运行的应用程序,其编程方法是:编写源程序、编译源程序生成字节码文件、解释运行字节码文件,得到运行结果。
Java Applet程序是嵌入在html文件中的小应用程序,其编程方法是:编写源程序、编译源程序生成字节码文件、建立index.html文件,嵌入字节码文件、浏览html文件。
三、实验内容:1变量定义与基本数据类型(如将float改为double,错误,类型不匹配,不能从double转换为float)2基本算术运算符3循环语句(while和do while case )实验二:Java的类与对象一、实验目的1、掌握面向对象程序设计的方法和Java作为面向对象程序设计语言的特点;2、掌握如何构造一个类和如何创建一个对象,了解类与对象的关系;3、掌握修饰符和构造方法的使用规则;4、掌握不同变量的作用域及变量传递与返回的规则;5、了解成员变量的隐藏。
学习类的继承、子类在对象中调用父类定义的方法学习类继承时方法的覆盖二、实验原理与方法类是同种对象的集合和抽象,是抽象的数据类型。
对象是类的实例。
Java实验综合实验及练习第一部分:编程题1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=5)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。
4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。
评分规则:分数为60~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。
5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。
写一个程序测试这个类6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
7、编写一个完整的Java Application 程序。
包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:⑴、接口Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长⑵、类 MyRectangle :实现Shape 接口,并有以下属性和方法:① 属性width : double 类型,表示矩形的长height : double 类型,表示矩形的高② 方法MyRectangle(double w, double h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”⑶、类MyTriangle :实现Shape 接口,并有以下属性和方法:① 属性x,y,z: double 型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)② 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋初值。
java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。
了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。
实验内容:创建一个java项目,命名为experiment2。
(如何创建项目参考《实验一》的项目创建方法。
)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add方法把组件加入到容器中。
1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。
实验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,无实数解。
实验一:简单Java Application 编程1.实验目的(1)了解Java命令行编程环境JDK的组成;(2)熟悉Java命令行编程环境JDK的配置和使用;(3)掌握Application程序的输入和输出;(4)掌握Application程序的结构和命名;(5)熟悉Textpad等编辑器的使用。
2.实验内容(1)熟悉javac、java等命令的使用,熟悉使用Java编辑器。
(2)编写一个Java Application程序,接受用户从键盘输入的10个整数,比较并输出其中的最大值和最小值。
要求程序能对非法数据进行处理。
(3)编写一个Java Application程序,从键盘读取年份,输出该年份是否为闰年。
要求程序能对非法数据进行处理。
3. 实验要求(1)程序的数据从键盘读取;(2)主类名自定,注意其与文件名的关系;(3)当输入的数据格式不对,提示用户输入一个格式正确的数据;(4)可用图形用户界面或字符界面。
实验二: Java类的定义和对象的创建1. . 实验目的(1)进一步熟悉Java命令行编程环境JDK、eclipse开发环境的使用;(2)熟悉类与对象的概念与关系;(3)掌握Java类的定义、对象的创建;(4)掌握成员变量的访问、成员方法的调用;(5)掌握封装的概念及意义。
2. 实验任务(1)编写一个复数类ComplexNumber,其中包括实例变量real、image,方法如下:1)构造方法ComplexNumber(double a,double b), ComplexNumber(String a,String b)2) ComplexNumber add(ComplexNumber x)//当前复数对象与另一复数对象进行复数的加法运算,返回一新的复数对象3) static ComplexNumber add(ComplexNumber x,ComplexNumber y)//复数对象x与y相加。
Java课程设计实验报告实验题目:打字游戏小程序专业: 计算机科学与技术系班级: 1202班成员:Java 课程设计打字游戏小程序一、课程设计目的经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥;在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识;二、课程设计内容1.课程设计简介设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分;2.设计说明因为要进行键盘操作,所以引用了event包,还要注册事件监听;字母是随机产生的,又要用Math.random;注册了线程;还要对窗口定义坐标,防止字母出现在同一位子;并且通过一位数组来给随机出现的字母做坐标定义;主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制;3.设计流程图4.实现功能随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少;5.详细设计源代码1)CharEntity.javapackage DownCharGame;/下落的字母实体类author shenbf/public class CharEntity {//定义字母的x、yprivate int x;private int y;//字母的值private char ch;//字母下落的"速度"private int speed;//颜色private Color color;//字体private Font font;public void drawGraphics g{//设置字体g.setFontfont;//设置画笔颜色g.setColorColor.white;g.fillOvalgetX-9, getY-24, 30, 30;g.setColorcolor;g.drawStringch+"", x, y;}//下落的方法public void down{y=y+speed;}//快速生成getters和setters方法:alt+shift+s---->r---->select all---->ok public void setXint x{this.x=x;}public int getX{return this.x;}public int getY{return y;}public void setYint y{this.y=y;}public char getCh {return ch;}public void setChchar ch {this.ch = ch;}public int getSpeed {return speed;}public void setSpeedint speed {this.speed = speed;}public Color getColor {return color;}public void setColorColor color {this.color = color;}public Font getFont {return font;}public void setFontFont font {this.font = font;}}2)DownCharFrame.javapackage DownCharGame;public class DownCharFrame {public static void mainString args{JFrame frame=new JFrame;frame.setTitle"打字母游戏V1.2";frame.setBounds200,100,640,480;frame.setResizablefalse;frame.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;DownCharPanel panel=new DownCharPanel;frame.addpanel;frame.addKeyListenerpanel;panel.addKeyListenerpanel;panel.startDown;frame.setVisibletrue;}}3DownCharPanel.javapackage DownCharGame;public class DownCharPanel extends JPanel implements KeyListener{C harEntity chs=new CharEntity10;//消除字母4,定义统计的变量//正确率i nt accuracy = 0;//正确数i nt rightNum = 0;//打错的个数i nt errorNum = 0;//遗漏的个数i nt loseNum = 0;//初始总分i nt sum = 1000;p ublic DownCharPanel{//为数组中的每一个子科目实例化forint i=0;i<chs.length;i++{CharEntity ce = new CharEntity;int fontSize=intMath.random10+20;ce.setFontnew Font"宋体",Font.BOLD,fontSize;ce.setXintMath.random580+30;ce.setY0;ce.setSpeedintMath.random3+1;ce.setColornew ColorintMath.random256, //0,255intMath.random256,intMath.random256;ce.setChchar65+intMath.random26;chsi=ce;}}p ublic void paintGraphics g{super.paintg;//设置背景图Image bgimg;try {bgimg = ImageIO.readnew File"Picture/238.jpg";g.drawImagebgimg, 0, 0, null;} catch IOException e {e.printStackTrace;}//消除字母5,绘制统计数字g.setFontnew Font"宋体",Font.BOLD,20;g.setColorColor.yellow;g.drawString"正确数:"+rightNum, 10, 40;g.setColorColor.red;g.drawString"错误数:"+errorNum, 10, 60;g.setColorColor.green;g.drawString"遗漏数:"+loseNum, 10, 80;//绘制下落的字母forint i=0;i<chs.length;i++{chsi.drawg;}//显示成绩g.setColorColor.white;g.drawString"您当前的成绩是:"+sum, 165, 23;//Game OveriferrorNum>50||loseNum>100{g.setColorColor.red;g.setFontnew Font"宋体",Font.BOLD,100;g.drawString"Game Over", 50, 250;}}p ublic void startDown{new Thread{public void run{whileloseNum>100||errorNum>50{try {Thread.sleep40;} catch InterruptedException e {e.printStackTrace;}forint i=0;i<chs.length;i++{ifchsi.getY>=480{//消除字母6,遗漏数++loseNum++;sum -= 100;chsi.setXintMath.random580+30;chsi.setY0;chsi.setColornew ColorintMath.random256,intMath.random256,intMath.random256;chsi.setChchar65+intMath.random26;}chsi.down;}repaint;//}}}.start;}p ublic void keyTypedKeyEvent e {}p ublic void keyPressedKeyEvent e {}p ublic void keyReleasedKeyEvent e {//消除字母7,实现具体的方法//7.1获取到键盘按下的字母char key = e.getKeyChar;//和当前按下字母key相同字母y值最大对应的下标int maxYindex = -1;//7.2使用按下的字母和chs数组中所有的字母去比较forint i=0; i<chs.length; i++{ifkey==chsi.getCh||key==chsi.getCh+32{//按下的字母key和下标对应的字母“相同”ifmaxYindex==-1{//说明第一次找到maxYindex = i;}else{//说明不是第一次找到ifchsmaxYindex.getY<chsi.getY{maxYindex = i;}}}}//判断正确还是错误ifmaxYindex==-1{//一个相同的字母都没有找到errorNum++;sum -= 100;}else{//至少找到一个相同的字母rightNum++;sum += 10;chsmaxYindex.setXintMath.random580+30;chsmaxYindex.setY0;chsmaxYindex.setChchar65+intMath.random26;}}}三、运行结果截图:四、实验总结:此程序运用了一维数组,且随机性;并且把键盘事件与电脑随机的功能相联系;有它的可取之处,值得我们学习;但也有不足之处,该程序不能自动结束;这点还有待完善;该程序比较基础;可以让自己先打好深刻了解理论基础;通过这次的课程设计,给自己增加了很多有用的经验,希望在以后的基础上可以接触些更有深度和技巧型的程序;让自己能更好的运用java的功能;。
Java实验题目实验二Java语言基础1、实验目的(1)通过实验,掌握Java语言程序设计的基本方法。
(2)学会Java语言中标识符的命名、运算符和表达式的应用。
(3)较熟练的掌握Java程序流程控制语句的应用。
2、实验内容(1)将本教程中例程程序编辑、调试,并运行。
(2)使用for循环语句,不要用循序结构的System.out.println 简单输出,在屏幕的正中间(上下居中、左右居中)输出图案如下:☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆。
(3)编写程序求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+…+1/n!。
用while循环语句编写程序,要求直到最后一项的值小于104-。
并进行调试与运行。
3、实验预习(1)复习本章所学内容(2)写出实验内容中第(2)(3)题两个程序的源代码,作为预习报告。
4、实验步骤及结果实验过程中,注意记录以下内容:(1)实验过程中实验步骤及其结果。
(2)遇到的问题及解决方法。
(3)实验体会。
实验四Java面向对象程序设计1、实验目的掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能够熟练应用方法、类、成员变量等元素。
2、实验内容(1)创建一个复数类complex,以复数进行数学运算。
复数具有如下格式:RealPart+ImaginaryPart*I其中,I为-1的平方根。
要求如下:①利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明时对象的初始化;一个为带默认值的无参构造方法。
②提供两复数加、减、乘的运算方法。
③按格式(a,b)打印复数。
其中a为实部,b为虚部。
(2)创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。
(3)编程定义一个接口,实现三个数中求最大值和最小值的方法,并将程序存放在mymaths包中。
(4)修改5.7.2案例中的部分设计:①设计和实现Cliper类的一个子类,它实现如下的加密规则:在字母表的每个字母用反字母表中的相应位置的字母来代替,如a用z来代替,b 用y来代替等②修改Transpose.encode()方法使其采用旋转而不是反转。
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”等)。
实验四类的继承性和多态性【完成实验项目】2.设计一个名为Person的类和它的两个名为Student和Employee的子类●Employee类又有子类:教员类Faculty和职员类Staff。
●每个人都有姓名、地址、xx号码●学生有班级号●教员有级别●职员有职务称号●覆盖每个类的toString方法,显示相应的类名和人名●编写测试程序,创建Person、 Student、Employee Faculty和Staff,并调用它们的toString方法实验五包、接口抽象类【完成实验项目】1.定义一个抽象基类Shape,它包含三个抽象方法center()、diameter()、getArea(),从Shape类派生出Square和Circle类,这两个类都用center()计算对象的中心坐标,diameter()计算对象的外界圆直径,getArea()方法计算对象的面积。
编写编写应用程序使用Rectangle类和Circle类。
2.定义一个接口Insurance,接口中有四个抽象方法:public int getPolicyNumber()//保险号码;public int getCoverageAmount()//保险金额;public double calculatePremium()//计算费用;public Date getExpiryDate()//终止日期。
设计一个类Car,该类实现接口的方法,编写应用程序。
实验六数组【完成实验项目】1. 设给定一组整型数组,求它们的平均值及最大值2. 使用动态建立二维数组的方式输出8行杨辉三角形3. 用选择法对{8,6,12,5,14,7,21,2,9,3}十个数按从小到大进行排序,然后输出实验七字符串【完成实验项目】1. 编写一个java程序,完成以下功能:(1)声明一个名为s的字符串,并使它的内容为”Call me Ishmael.”;(2)打印整个字符串(3)使用length()方法打印字符串的长度(4)使用charAt()方法打印字符串的第一个字符(5)使用chanrAt()和length()方法打印字符串的最后一个字符(6)使用indexOf()方法和substring()方法打印字符串中的第一个单词2设有中英文单词对照表,输入中文单词,显示相应英文单词,输入英文单词显示相应中文单词。
String[][] x = { { "good", "好" }, { "bad", "坏" }, { "work", "工作" } };实验八 Java中的Object、Math和System类【完成实验项目】1. 定义一个自己的数学类MyMath。
类中提供静态方法max,该方法接收3个同类型的参数(例如整形),返回其中的最大值。
2. 使用ng.Math类,生成100个0~99之间的随机整数,找出他们之中的最大的和最小的,并统计大于50的整数个数实验九 Java中的时间日期类库【完成实验项目】1.编写一个程序,实现以下要求,根据运行时提供的参数(格式为”yyyy-mm-dd”),输出其对应的星期次序,例如,输入2007-09-7,输出2007-09-7是星期5。
2. 编写一个java程序,判断两个日期的大小以及两个日期之间的间隔天数。
实验十集合框架编程1.编写应用程序,在其main方法中定义以下两个字符串数组:String mpgStr[]={"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg"};String pngStr[]={"1.png","2.png","3.png","4.png","5.png"};然后将他们的每个元素间隔添加到ArrayList对象中,并在命令行界面显示所有元素;然后将ArrayList对象中所有.png的元素都删除,再显示ArrayList对象中的所有元素,如图所示。
2.按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。
然后再向List中位置为第四位插入数 35看看会有啥结果?3.按顺序把下面一组数([1,2] [3,4] [2,2] [6,4] [5,2] [4,4])存放到Map中(注:允许自己自定义任何数),并按key 和value的值进行排序。
如果再向Map中加入[3,6] 看看排序结果有啥变化?并说出其理由。
程序代码:3. 设计一个程序,用来统计字符串“have a good day,have a good class,have a good visit,have fun!”中的每个单词出现的次数,并按照单词的升序输出(建议使用HashMap 和TreeMap)(设计性内容)。
实验十一异常处理【完成实验项目】1.自定义异常类MyException,该类继承自Exception类,类中只有含一个字符串参数msg的构造方法,构造方法中只有一条语句super(msg)——调用父类的构造方法。
另外,编写自定义类person,类中只有两个私有的变量,一个是字符串类型的姓名,另一个是整型变量age;有两个公有方法void getAge()和setAge(int age),其中setAge(int age)的功能是把参数age的值加到类中的变量age中(但要求age>0,否则抛出自定义异常MyException类的对象),getAge()方法返回age的值。
编写应用程序1. 利用随机函数产生30个10-90之间的不重复整数,将这些数拼接在一个字符串中,用逗号隔开,每产生一个新数,要保证在该串中不存在,最后将串中的整数分离存放在一个数组中,将数据内容由小到大输出实验十二 Java数据流编程图9.8【完成实验项目】1.请设计一个从键盘输入一个数n,求n!2.写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文件中。
用户输入“quit”表示输入完毕,程序退出。
3.在"D:/mydat"目录下有一个学生名单文件(文本)"student2006.txt",里面记载了若干学生信息,每个学生信息单独一行,每行信息共有五列,每列之间用逗号分开,其每列含义按顺序是:学号姓名出生日期性别专业,要求:将所有专业为"MATH"的学生专业改为"APMA",并重新保存为"student2006-1.txt"文件。
200607012,张华,1980.07.23,M,CS200607016,王海,1980.08.11,M,MATH200607078,丁美,1980.10.10,F,MATH200607106,贺璐璐,1981.01.11,F,CS要求,编写程序,实现从文件中读取学生信息创建学生对象,并添加到一个集合中,并提供按学号查询功能。