1、太原理工大学Java实验报告实验由本人当时亲自完成仅供参考,希望可以帮助大家本科实验报告课程名称: Java程序设计B 实验项目: Java语言基础编程和面向对象设计 实验地点: 逸夫楼501 专业班级: 0000 学号: 00000000 学生姓名: 氣宇軒昂 指导教师: 2012年 13月 13日实验名称 实验一 Java环境搭建和Java语言基础编程实验目的和要求1. 掌握JDK、Eclipse的下载和安装,并熟练使用API帮助文档;2. 学会Java Application程序和Java Applet程序的编制、编译和运行;3. 熟练掌握Java程序流程控制语句的使用;4. 熟练掌握J
2、ava语言数组的使用、字符串以及字符串处理方法的使用。实验内容1. 下载并安装最新版本的JDK和Eclipse,设置环境变量,下载API帮助文档。2. 设计Java Application程序,输出“我叫,我编写的Java Application程序运行通过了”,分别在命令提示符和Eclipse环境中编译、运行。3. 完成习题2.7的编程、调试与运行。4. 使用for循环语句输出习题3.5中的图案。5. 完成习题3.9的编程、调试与运行。6. 完成习题4.5和4.7的编程、调试与运行。主要仪器设备台式或笔记本计算机实验记录(写出实验内容中3,5,6的程序代码和运行结果)(可分栏或加页)2.7程
3、序代码import java.util.Scanner;public class DataType public static void main(String args) Scanner in=new Scanner(System.in); System.out.print(请输入一个long型数据(输完按enter结束):); long a=in.nextLong(); System.out.print(请输入一个float型数据(输完按enter结束):); float b=in.nextFloat(); System.out.print(请输入一个double型数据(输完按enter结
4、束):); double c=in.nextDouble(); System.out.println(long:+a); System.out.println(float:+b); System.out.println(double:+c); 运行结果3.9程序代码import java.util.Scanner;public class ValueFore int n; ValueFore() this.n=calculateN(); double stackBy(int n) int i; double s=1; for(i=1;i=n;i+) s*=i; return s; double
5、 overlap() int i; double sum=1; for(i=1;ia) i+; return i; public static void main(String args) Scanner in=new Scanner(System.in); boolean b=true; while(b) System.out.println(请选择菜单:); System.out.println( 1.计算不同精度的e值); System.out.println( 2.退出); switch(in.nextByte() case 1: System.out.println(请输入精度(例如
6、:1e-3,表示0.001):); ValueFore a=new ValueFore(); System.out.println(e=+a.overlap(); ;break; case 2:b=false;break; 运行结果说明:没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同精度的e值。4.5程序代码public class StringText public static void main(String args) String str1=I am; String str2=a student; String str3=我是中国人; Strin
7、gBuffer str=new StringBuffer(); str.append(str1).append(str2).append(str3); System.out.println(str); System.out.println(str.charAt(8); System.out.println(str.charAt(16); 运行结果4.7程序代码import java.util.Scanner;public class Triangle void printTriangle(int row) int i,j; int a=new introw; for(i=0;irow;i+)
8、ai=new inti+1; for(i=0;irow;i+) ai0=1; aii=1; for(i=2;irow;i+) for(j=1;ji;j+) aij=ai-1j-1+ai-1j; System.out.println(输出杨辉三角为:); for(i=0;ii;j-) System.out.print(t); for(j=0;jb?a:(bc?b:c); return this.max; public double seekMin(double a,double b,double c) this.min=ab?a:(bc?b:c); return this.min; packag
9、e mymaths;import java.util.Scanner;public class Example public static void main(String args) Scanner in=new Scanner(System.in); MaxMinValue num = new SeekMaxMinValue(); boolean a=true; while(a) System.out.println(请选择菜单:); System.out.println( 1.取最大值); System.out.println( 2.取最小值); System.out.println(
10、3.退出); switch(in.nextByte() case 1: System.out.print(输入要比较的三个数并用空格隔开:); System.out.println(Max=+num.seekMax(in.nextDouble(),in.nextDouble(),in.nextDouble();break; case 2: System.out.print(输入要比较的三个数并用空格隔开:); System.out.println(Min=+num.seekMin(in.nextDouble(),in.nextDouble(),in.nextDouble();break; ca
11、se 3:a=false;break; 运行结果说明:有些繁琐,但根据提示进行就可以了实验五内容(三)程序:import java.util.Scanner;public class Bank String name; long remainder; Bank(String name,long remainder) this.name=name; this.remainder=remainder; long withdraeal(long getMoney) throws InsufficientFundsException try this.remainder=this.remainder-
12、getMoney; if(this.remainder0) throw new InsufficientFundsException(尊敬的+this.name+您的余额不足); return this.remainder; catch(InsufficientFundsException e) System.out.println(e.getMessage(); return this.remainder=this.remainder+getMoney; public static void main(String args) throws InsufficientFundsExceptio
13、n Scanner in=new Scanner(System.in); System.out.print(请输入您的姓名和存款金额并用空格或回车隔开:); Bank user=new Bank(in.next(),in.nextLong(); boolean a=true; while(a) System.out.println(请选择菜单:); System.out.println( 1.取款); System.out.println( 2.退出); switch(in.nextByte() case 1: System.out.print(请输入您要取款的金额(输完之后按enter结束)
14、:); System.out.println(您的卡上余额:+user.withdraeal(in.nextLong(); ;break; case 2:a=false;break; class InsufficientFundsException extends Exception public InsufficientFundsException(String msg) super(msg); 运行结果说明:书中要求的也没有这么多功能,为了熟悉而加了这些必要的功能,从上述输入的数据中可以看书程序可以解决取钱以后卡上余额的显示,并且继续取还是取余额的钱,当余额不足是会提示信息,并且自己的余额
15、不会变,还可以继续取钱。实验六内容(二)程序:import java.applet.*;import java.awt.*;import java.awt.event.*;public class Test1 extends Applet implements ActionListener Button b=new Button(change); Button b1=new Button(change1); public void init() add(b); add(b1); b.addActionListener(this); b1.addActionListener(this); pub
16、lic void paint(Graphics g) Font f=new Font(宋体,Font.PLAIN,18); g.setFont(f); g.setColor(Color.blue); g.drawString(Please look at me., 0, 30); public void actionPerformed(ActionEvent e) if(e.getSource()=b) Graphics g = getGraphics(); Font f=new Font(楷体,Font.PLAIN,18); g.setFont(f); g.setColor(Color.bl
17、ack); g.drawString(Please look at me., 0, 60); if(e.getSource()=b1) Graphics g = getGraphics(); Font f=new Font(宋体,Font.PLAIN+Font.ITALIC,18); g.setFont(f); g.setColor(Color.green); g.drawString(Please look at me., 0, 90); 运行结果说明:按钮change按下出来黑字体,按钮change1按下出来绿色字体。遇到的问题和解决方法 编程过程中遇到结果不一致的情况比较多,比如说银行系
18、统中取走钱后余额是正确的,在取钱时余额又回到了刚开始存的钱,解决这些问题中用的最多的是this的变化,在编写复数是this用的相对也是比较多的,显示了其较高的灵活性!心得体会 在编完银行系统时感觉很有成就感,在调试过程中都能按自己的要求去执行,再次提升了我个人对编程的兴趣,小程序我感觉编写的还不够好,只是做到了简单的要求,我想再给我点儿时间会编的更好!实验名称 实验三 图形用户界面、多线程和多媒体编程实验目的和要求1. 掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法;2. 掌握线程的概念、线程的生命周期;掌握采用扩展Thread类和实现Runnable接口的多线程编程方法;3. 掌握Java中声音播放、图形绘制和显示图像的程序设计方法;实验内容1. 编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态栏显示相应的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1