河北工业大学java程序设计实验报告.pdf
《河北工业大学java程序设计实验报告.pdf》由会员分享,可在线阅读,更多相关《河北工业大学java程序设计实验报告.pdf(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、J a v a程序设计实验报告班级:网 络1 5 1姓名:徐毅民学号:1 5 3 2 9 9实验一 Java语言基础一.实验目的掌 握Java语言的基本语法、基本数据类型的使用方法,掌握从键盘输入基本类型的数据,熟练运用分支、循环等语句控制程序流程。二实验内容1、编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括姓名、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型,程序将输出年龄、java课程实验成绩的平均值。提示:Scanner对象调用nextDouble()或nextFloat()可以获取用户从键盘输入的浮点数。2、使用Arrays类实现数组排序:使用j
2、ava.util包中的Arrays类的类方法 public static void sort(double a口)可以把参数 a 指定的 double类型数组按升序排序;public static void sort(double a,int start,intend)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。给定数组 int a=12,34,9,-23,45,6,90,123,19,45,34);从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出。3、输出100200之间的所有素数。4、采用for循环求1至1000之内的所有“完
3、全数”。所谓“完全数”是指一个数,恰好等于它的因子之和。例如,6是一个完全数,因为6的因子为1、2、3,而6=1+2+3。5、已知XYZ+YZZ=532,其中X、Y和Z为数字,编程求出X,Y和Z的值。三.实验步骤实验1以最终学生信息管理系统为准实验2代码如下:import java.util.Arrays;import java.util.Scanner;public class test2 public static void prir)tDoubleArray(double a)for(int i=0;i a.length;i+)System.out.print(ai+);System.o
4、ut.println();public static void printflntegerArray(int a)for(int i=0;i a.length;i+)System.out.print(ai+);System.out.println();public static void main(String args)double a=2.6,4.6,2,8,888,569.5,454.5,100,-84.5,45;System.out.printin(原 double 数组 a:);printDoubleArray(a);Arrays.sort(a,0,a.length/2);Syste
5、m.out.printing 排序 double 数组 a 前一半门;printDoubleArray(a);Arrays.sort(a);System.out.printin(排序整个 double 数组 a:);printDoubleArray(a);int b=12,34,9,-23,45,6,90,123,19,45,34);Arrays.sort(b);System.out.printin(排序整个 double 数组 b:1 1);printfl ntegerArray(b);Scanner in=new Scanner(System.in);System.out.print(输入
6、要查询的数字:);int key=in.nextlnt();int i=Arrays.binarySearch(b,key);if(i=b.length)System.out.println(i+”输入数字不在数组中!);else System.out.println(bi+在数组b第+(i+l)+位!);实验3代码如下:public class test3 public static boolean isPrime(int x)if(x=1)return false;int s=(int)Math.sqrt(x);for(int i=2;i=s;i+)if(x%i=0)return fals
7、e;return true;public static void main(String args)int ent=0;for(int i=100;i 200;i+)if(isPrime(i)cnt+;System.out.printfCAd,i);if(isPrime(i)&cnt%10=0)System.out.println();)实验4代码如下:public class test4 public static boolean isCompleteNumber(int x)int sum=0;for(int i=1;i x;i+)if(x%i=0)sum+=x;return x=sum;
8、public static void main(String args)int ent=0;for(int i=1;i=1000;i+)if(isCompleteNumber(i)cnt+;System.out.printf(%4d,i);if(isCompleteNumber(i)&cnt%10=0)System.out.println();)实验5代码如下:public class test5 public static void main(String args)for(int x=0;x 10;x+)for(int y=0;y 10;y+)for(int z=0;z MyDate.ge
9、tDaysOfMonth(year,month)return false;return true;public static boolean isLeapYear(int year)return year%400=0 1 1 year%100!=0&year%4=0;public static void main(String args)int sei,y,m,d;Scanner in=new Scanner(System.in);while(true)System.out.printin(请输入年月日y=in.nextlnt();m=in.nextlnt();d=in.nextlnt();i
10、f(MyDate.isValidDate(yz m,d)System.out.println(y+年+m+月+d+日 信 息正 确!)else System.out.println(y+m+R+d+日 信 息不 正 确!);System.out.printin(是否继续输入?(1:是,0:否);sei=in.nextlnt();if(sel=0)break;)实验2以最终学生信息管理系统为准实验3代码如下:Shape接口:public interface Shape public abstract double getArea();public abstract double getPerim
11、eter();Rectangle 类:public class Rectangle implements Shape private double width;private double height;private Coordinate c;矩形左下角的点public Rectangle()this.width=0;this.height=0;this.c=new Coordinate。0);public Rectangle(double width,double height,int x,int y)this.width=width;this.height=height;this.c=n
12、ew Coordinate(x,y);(Overridepublic double getArea()return this.width*this.height;(Overridepublic double getPerimeter()return 2*(this.width+this.height);Circle 类public class Circle implements Shape private double radius;private Coordinate center;public Circle()this.radius=0;this.center=new Coordinate
13、(0,0);public Circle(double radius,long x,long y)this.radius=radius;this.center=new Coordinate(x,y);(Overridepublic double getArea()return Math.Pl*this.radius*this.radius;(Overridepublic double getPerimeter()return 2*Math.PI*this.radius;Triangle 类public class Triangle implements Shape private double
14、a,b,c;private Coordinate cl,c2,c3;public Triangle()this.a=0;this.b=0;this.c=0;this.cl=new Coordinate。0);this.c2=new Coordinate。0);this.c3=new Coordinate。0);Overridepublic double getArea()double s=this.getPerimeter()/2;return Math.sqrt(s*(s-a)*(s-b)*(s-c);(Overridepublic double getPerimeter()return t
15、his.a+this.b+this.c;public static boolean isVaild(double a,double b,double c)if(a+b=c 1 1 a+c=b 1 1 b+c=c|Math.abs(a-c)=b|Math.abs(b-c)=a)return false;return true;)测试类public class test3 public static void main(String args)Shape shape;Scanner in=new Scanner(System.in);System.out.printin(请输入矩形的宽、高,左下角
16、点的横坐标、纵坐标:);shape=new Rectangle(in.nextDouble(),in.nextDoubleO,in.nextlnt(),in.nextlnt();System.out.printin(矩形的面积:+shape.getArea()+周长+shape.getPerimeter();System.out.printin(请输入圆的半径,圆心的横坐标、纵坐标shape=new Circle(in.nextDouble(),in.nextlnt(),in.nextlnt();System.out.printing圆形的面积:+shape.getArea()+周长+shap
17、e.getPerimeter();double a,b,c;System.out.printin(请输入三角形的三条边长:);a=in.nextDouble();b=in.nextDouble();c=in.nextDouble();while(!Triangle.isVaild(a/b,c)System.out.printin(这不是一个三角形,请重新输入三条边长:);a=in.nextDouble();b=in.nextDouble();c=in.nextDouble();System.out.printing请分别输入三个顶点的横坐标、纵坐标:);shape=new Triangle(a
18、,b,c,in.nextlnt(),in.nextlntO,in.nextlnt(),in.nextlnt(),in.nextlnt(),in.nextlnt();System.out.printin(三角形的面积:+shape.getArea()+周 长+shape.getPerimeter();实验4代码如下:五.详细的调试和运行结果实验1运行结果:请输入年月日:200112 562001年12月56日信息不正确!是否继续输入?(1:是,0:否)1请输入年月日:19002291900年2月29日信息不正确!是否继续输入?(1:是,0:否)0实验2以最终学生信息管理系统为准实验3运行结果:请
19、输入矩形的宽、高,左下角点的横坐标、纵坐标:7 8 9 10矩形的面积:5 6.0 周长30.0请输入圆的半径,圆心的横坐标、纵坐标:2 3 4圆形的面积:12.566370614359172 周长12.566370614359172请输入三角形的三条边长:3 4 5请分别输入三个顶点的横坐标、纵坐标:4 5 8 5 4 8三角形的面积:6.0周长12.0实验4运行结果:五.实验感想通过本次从实验对ja v a语言的基本语法有了更深刻的了解,对ja v a中类的定义和面向对象的设计有了基本的了解。实验三异常处理程序设计一.实验目的了解J a v a 中异常处理(e x c e p t i o
20、n)的作用及常用的异常类,掌握异常处理的设计方法。二.实验内容1、用 t r y-c a t c h-f i n a l l y 结构实现异常处理。编译并运行程序,写出程序运行结果。2、设计一个J a v a 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“X Y Z”,则抛出一个异常信息“T h i si s a X Y Z,如果从命令行输入A B C,则没有抛出异常。(只有X Y Z 和A B C 两种输入)。3、声明一个A v e r a g e 接口,其中约定求平均值的方法;声明多个类实现A v e r a g e 接口,分别给出求平均值的方法实现。例如,在一组数
21、值中,一种算法是,全部数值相加后求平均值,另一种算法是,去掉一个最高分和一个最低分后,再将总分求平均等;使用键盘输入数据时一,对于不能转换成数值的字符串进行异常处理。三.实验步骤实验1代码如下:p u b l i c c l a ss E x c e p t i o n T e st p u b l i c st a t i c v o i d m a i n(S t r i n g a r g s)i n t i =0;S t r i n g g r e e t i n g =H e l l o,O n l y,T e st;w h i l e(i nuw=0;为结果,岫用来记录小数点个数S
22、tring operation=sqrt,backspace,C,7,8,9,”/4,5,6,1,2,3,0,+;public Counter()(super(“计算器”);button=new JButtonoperation.length;this.setBounds(280J100,300,240);this.setDef aultCloseOperat ion(FXI7O/V_CLOSE);JPanel panel=new JPanel(new FlowLayout();this.getContentPane().add(panel);JPanel panelR=new 3Panel(
23、new GridLayout(l,l);/设置text文本框panel.add(panelR);text=new 3TextField(0,6);panelR.add(text);JPanel panelID=new 3Panel5;设置按钮for(int i=0;i;i f(f Lag equals(/)resuLt=save/Double.parseDoubLe(te x t.getText();te x t,set Text(l,+resuLt);save=resuLt;进行连续运算num=0;ope=;private class MessageJDialog extends JDial
24、ogJFrame jframe;DLabel jla b e l;Message3Dialog(JFrame jframe)super(jframe J 提 示:true);this.jframe=jframe;this.setSize(240,100);jlabel=new J Label(j J Label.CENTER);this.getContentPane().add(jlabel);this.setDefaultCloseOperation(HIDE_OA/_CLOSF);)void show(String message)jlabel.setText(message);this,
25、setLocation(jframe.getX()+30,jframe.getY()+70);this.setVisible(true);public static void main(String args)(new Counter();实验结果:3、设计图形界面实现学生的信息录入,至少包括姓名、年龄、出生年月日、Java课程实验成绩,成绩使用浮点数,年龄使用整型,使用数据存储输入对象,程序输出按年龄排序的学生信息。源代码:package sy4;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;im
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北 工业大学 java 程序设计 实验 报告
限制150内