版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科实验报告课程名称: java语言程序设计 实验名称: java程序设计 实验地点: 致向楼201 专业班级: 学号: 学生姓名: 指导教师: 时间: 年 月 日实验名称 实验一 Java语言基础实验目的和要求:(1) 通过实验,掌握Java语言程序设计的基本方法。(2) 学会Java语言中标示符的命名、运算符和表达式的应用。(3) 熟练地掌握Java程序流程控制语句的应用。实验内容(1) 编写应用程序,计算100(含100)以内所有偶数的和。(2) “水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,
2、求所有的水仙花数。(3) 编写一个程序,求1-100间的素数。(4) 有一函数: x (x1)Y= 3x-2 (1x10) 4x (x10) 写一程序,给定x值,输出y值。(5) 使用for循环语句,编写程序输出以下图案。(6) 编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是: 若年号可以被4整除,而不能被100整除,则是闰年; 若年号可以被400整除,也是闰年。主要仪器设备笔记本电脑 eclipse实验记录(写出实验内容中的程序代码和运行结果)(1)package jzk_shiyan1; public class Zekang_ou
3、shuhe public static void main(String args) / TODO Auto-generated method stubint sum=0;for(int i=1;i=100;i+)if(i%2=0)sum=sum+i;System.out.println(100以内的偶数和为:+sum);(2)package jzk_shiyan1; public class Zekang_shuixianhua public static void main (String args)int n=1000;for(int i=100;in;i+)int a=i/100,b=
4、(i/10)-(a*10),c=i-(100*a)+(10*b);if(i=a*a*a+b*b*b+c*c*c)System.out.println(水仙花数为:+i);(3)package jzk_shiyan1; public class Zekang_sushu public static void main(String args) System.out.print(1-100间的素数为:2 );/ TODO Auto-generated method stubfor(int i=1;i=100;i+) for(int a=2;a=(i-1)System.out.print(i+ );
5、 (4)import java.util.Scanner; public class Zekang_hanshu public static void main(String args) int y=0;System.out.print(请输入一个数字:);Scanner s=new Scanner(System.in);int x=s.nextInt();if(x=1&x=10)y=4*x;System.out.print(y);(5)package jzk_shiyanyi;import java.io.*;public class Zekang_tuan public static vo
6、id main(String args)throws IOException for(int i=0;i1&i%2=0);elseSystem.out.print(n);for(int k=9;ki/2;k-)System.out.print( );for(int j=0;j0;i-)if(i1&i%2=0);elseSystem.out.print(n);for(int k=9;ki/2;k-)System.out.print( );for(int j=0;ji;j+)System.out.print(*);(6)public class jzk_ruinian public static
7、void main(String args) int num=0;for(int i=1900;i=2100;i+)if(i%4=0&i%100!=0)|(i%400=0)num+;if(num%5=0)System.out.println(i);elseSystem.out.print(i+ ); 遇到的问题和解决方法1.程序没有输出结果。解决方法:使用java提供的“System.out.println()“方法输出数据。2.程序无法运行。解决方法:检查代码是否有语法错误,将鼠标移动到感叹号上查明原因。3.程序运行结果有异常心得体会1.java在使用中每一项的实现都有很多种方法,要尽可能的
8、尝试,区别每种方法的特点。2.java编程时要注意语法、逻辑错误。实验名称 实验2 数组和字符串编程实验目的和要求1.通过实验,掌握Java语言中数组、字符串程序设计的基本方法。2.较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。实验内容1.编写一个程序,在控制台输入10个数,按大小顺序输出。2.求一个3*3矩阵对角元素之和。3.输入一段字符串,统计其中有多少个单词。(单词用空格隔开)主要仪器设备笔记本电脑 eclipse实验记录(写出实验内容的程序代码和运行结果)(1)package jzk_shiyan2;import java.io.*;import java.util.A
9、rrays;public class lishiyu_yi public static void main(String args) throws NumberFormatException, IOException int k,count=10;int score=new int count;BufferedReader in=new BufferedReader( new InputStreamReader(System.in); for(k=0;kcount;k+) System.out.print(请输入第+(k+1)+个数:); scorek=Integer.parseInt(in.
10、readLine(); System.out.println(t键盘输入的10个数为:); for(k=0;kscore.length;k+) System.out.print(scorek+t); System.out.println(); Arrays.sort(score); System.out.println(t排序后的10个数为:); for(k=0;kscore.length;k+) System.out.print(scorek+t); (2)package jzk_shiyan2;import java.io.*;public class jzk_er public stat
11、ic void main(String args) int j,k,m,aH=3,a,b,c; a=new intaHaH; b=new intaHaH; c=new intaHaH; /随机产生两个数组的元素 for(j=0;jaH;j+) for(k=0;kaH;k+) ajk=(int)(Math.random()*10); for(j=0;jaH;j+) for(k=0;kaH;k+) bjk=(int)(Math.random()*10); System.out.println(a矩阵元素如下:); for(j=0;jaH;j+) for(k=0;kaH;k+) System.out
12、.print(ajk+t); System.out.println(); System.out.println(b矩阵元素如下:); for(j=0;jaH;j+) for(k=0;kaH;k+) System.out.print(bjk+t); System.out.println(); System.out.println(求出的(c=a*b)矩形元素如下:); for(j=0;jaH;j+) for(m=0;maH;m+) for(k=0;kaH;k+) cjm=cjm+ajk*bkm; System.out.print(cjm+tt); System.out.println(); (3
13、)package jzk_shiyan2;import java.io.*;public class jzk_san public static void main(String args) throws IOExceptionString str=;System.out.println(请输入一个字符串:);BufferedReader buf=new BufferedReader( new InputStreamReader(System.in);str =buf.readLine();int space=0;for(int i=0;i 0) rtr_str = ( + m + + + n
14、 + i + ); if (n = 0) rtr_str = ( + m + ); if (n this.balance) System.out.println(金额不足,请重新输入); else this.balance-=money; System.out.println(你取了+money+元); public class L02 public void main(String args) Account a=new Account(*,400); System.out.println(账户余额为+a.getbalance()+元); a.deposit(500); System.out
15、.println(你存入+a.getbalance()+元); System.out.println(账户余额为+a.getbalance()+元); a.withdraw(300); (3)public class jzk_san interface Num public void Max(); public void Min(); public class Interface implements Num int a,b,c; public Interface (int a,int b,int c) this.a=a; this.b=b; this.c=c; public void Max
16、() int max; max=ab?a:b; max=maxc?max:c; System.out.println(三个数中最大值是:+max); public void Min() int min; min=ab?a:b; min=minc?min:c; System.out.println(三个数中最小值是:+min); public void main(String args) Interface qr=new Interface (8,4,13); qr.Max(); qr.Min(); (4)import java.util.StringTokenizer;public class
17、 jzk_si public abstract class Cipher public String encrypt(String s) StringBuffer result = new StringBuffer(); StringTokenizer words = new StringTokenizer(s); while (words.hasMoreTokens() result.append(encode(words.nextToken() + ); return result.toString(); public String decrypt(String s) StringBuff
18、er result = new StringBuffer(); StringTokenizer words = new StringTokenizer(s); while (words.hasMoreTokens() result.append(decode(words.nextToken() + ); return result.toString(); public abstract String encode(String word); public abstract String decode(String word); public class Caesar extends Ciphe
19、r public String encode(String word) StringBuffer result = new StringBuffer(); for (int k = 0; k word.length(); k+) char ch = word.charAt(k); ch = (char)(a + (ch -a+ 3) % 26); result.append(ch); return result.toString(); public String decode(String word) StringBuffer result = new StringBuffer(); for
20、(int k = 0; k word.length(); k+) char ch = word.charAt(k); ch = (char)(a + (ch - a + 23) % 26); result.append(ch); return result.toString(); public class Transpose extends Cipher public String encode(String word) StringBuffer result = new StringBuffer(word); return result.reverse().toString(); publi
21、c String decode(String word) return encode(word); public class TestEncrypt public void main(String argv) Caesar caesar = new Caesar(); String plain = this is the secret message; String secret = caesar.encrypt(plain); System.out.println( * Caesar Cipher Encryption *); System.out.println(PlainText: +
22、plain); System.out.println(Encrypted: + secret); System.out.println(Decrypted: + caesar.decrypt(secret); Transpose transpose = new Transpose(); secret = transpose.encrypt(plain); System.out.println(n * Transpose Cipher Encryption *); System.out.println(PlainText: + plain); System.out.println(Encrypt
23、ed: + secret); System.out.println(Decrypted: + transpose.decrypt(secret); 遇到的问题和解决方法1.声明对象要用new实例化。2.复数类的乘法运算中发生计算错误。解决方法:可以使用局部变量来存储计算结果,然后再赋给所在对象的变量,最后将对象返回。实验体会1. java中提供了很多方法来使用,可以根据实际需要高产量高效率地编写代码。2.面向对象的编写程序的方法对代码重用特别有效,方法的重载缩短了程序的长度。实验名称 实验4 Java异常处理实验目的和要求1.掌握异常的概念,以及如何定义、抛出和捕获处理异常。实验内容运行下面的
24、程序,理解异常的抛出、捕获与处理。Import java.io.*;public class void main(String args) public staic void main(String args) for(int i=0;i4;i+) int k; try switch(i) case 0: /divided by zero int zero=0; k=911 /zero break; case 1:/null pointer int b=null; k=b0; break; case 2; /array index out of bound int c=new int2; k=
25、c9; break; case 3: /string index out of bound char ch=abc.charAt(99); break; catch(Exception e) System.out.println(nTestcase#+i+n); System.out.println(e); 主要仪器设备笔记本计算机 eclipse实验记录(写出实验内容中的程序代码和运行结果) public class jzk_yi public static void main(String a) for(int i=0;i4;i+) int k; try switch(i) case 0:
26、 /divided by zero int zero=0; k=911 /zero break; case 1:/null pointer int b=null; k=b0; break; case 2; /array index out of bound int c=new int2; k=c9; break; case 3: /string index out of bound char ch=abc.charAt(99); break; catch(Exception e) System.out.println(nTestcase#+i+n); System.out.println(e)
27、; 遇到的问题和解决方法1. 抛出异常使用错误。 需要根据实际需要使用,区别throw和throws。实验体会java提供了异常类,区别throw和throws,自定义异常主要作用是区分异常发生位置,要分别监听类与异常类。实验名称 实验5 多线程编程实验目的和要求1.现成的概念、线程的生命周期。2.多线程的编程:扩展Thread类与使用Runnable接口。3. 使用多线程机制实现动画实验内容(1) 运行下面的程序,理解用创建Thread子类的方法实现多线程。/S09_01_Thread.JavaImport java.util.*;class S09_01_Thread extends Th
28、read int pauseTime; String name; public S09_01_Thread(int x,String n) pauseTime=x; name=n;public void run() while(true) try system.out.println(name+:+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exception e)System.out.println(e); static public void main(String srgs) S09_01_Thre
29、ad tp1=new S09_01_Thread(1000,Fast); tp1.start(); S09_01_Thread tp2=new S09_01_Thread(3000,Slow); tp2.start(); (2) 运行下面的程序,理解用实现Runnable接口的方法实现多线程。/S09_02_Thread.JavaImport java.util.*;class S09_02_Thread implements Runnable int pauseTime; String name; public S09_02_Thread(int x,String n) pauseTime=
30、x; name=n;public void run() while(true) try system.out.println(name+:+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exception e)System.out.println(e); static public void main(String srgs) Thread t1=new Thread(new S09_02_Thread(1000,Fast); t1.start(); Thread t2=new Thread(new S09
31、_02_Thread(3000,Slow); t2.start(); (3) 创建简单的程序ThreeThread.java,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。主要仪器设备笔记本计算机 eclipse实验记录(写出实验内容中的程序代码和运行结果)importjava.util.*;publicclassL09_03_ThreeThreadextendsThreadintpauseTime;Stringname;publicL09_03_ThreeThread(intx,Stringn)pauseTime=x;name=n;pub
32、licvoidrun()while(true)trySystem.out.println(name+:+newDate(System.currentTimeMillis();catch(Exceptione)System.out.println(e);staticpublicvoidmain(Stringargs)L09_03_ThreeThreadtp1=newL09_03_ThreeThread(1000,Fast);tp1.start();L09_03_ThreeThreadtp2=newL09_03_ThreeThread(2000,Midle);tp2.start();L09_03_
33、ThreeThreadtp3=newL09_03_ThreeThread(3000,Slow);tp3.start(); 遇到的问题和解决方法 使用runnable接口实现多线程编程时,由runnable接口实现的对象中没有start( )方法来使线程启动。解决方法:使用thread类的对象的构造方法来与runnable类对象相接,然后用thread类的对象调用start( )方法。实验体会 通过实验我了解到多线程可以把任务分块执行,分块后可以同时进行而不用等待, 这样效率更高。实验名称 实验6 图形用户界面编程实验目的和要求 掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、
34、键盘事件的处理;掌握布局控制的方法。实验内容(1) 编写一个程序响应鼠标事件,当鼠标事件发生时,在状态条显示相应的时间信息。提示:使用showStatus(字符串)方法。(2) 试设计一窗口,内含一个按钮。开始运行时,按钮显示“Click Me”字样,当按钮按下时,按钮显示为“Click Me Again”字样,再按一次,则按钮显示“Click Me”字样,依次循环。(3) 仿照Windows 2000/XP系统提供扫雷游戏编写一个类似功能和界面的扫雷程序。主要仪器设备笔记本计算机 eclipse实验记录(写出实验内容中的程序代码和运行结果)(1)import java.awt.*; impo
35、rt java.awt.event.*; public class L08_07_ implements MouseMotionListener,MouseListener,WindowListener private Frame frm; private TextField tf; public static void main(String args) L08_07_ListenerImpDemo two = new L08_07_ListenerImpDemo(); two.go(); public void go() frm = new Frame(三个监听器); frm.add(ne
36、w Label(拖曳鼠标),North); tf = new TextField(30); frm.add(tf,South); /使用缺省的布局管理器 frm.addMouseMotionListener(this); MouseListenerfrm.addWindowListener(this); WindowListener frm.setSize(300,200); frm.setVisible(true); public void mouseDragged(MouseEvent e) String s = 鼠标当前坐标: X=+e.getX()+tY = +e.getY(); tf
37、.setText(s); public void mouseMoved(MouseEvent e) public void mouseClicked(MouseEvent e) public void mouseEntered(MouseEvent e) String s = 鼠标进入了; tf.setText(s); public void mouseExited(MouseEvent e) String s = 鼠标离开了; tf.setText(s); public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e) public void windowClosing(WindowEvent e) System.exit(1);/为了使窗口能正常关闭,程序正常退出,需要实现windowClosing方法 public void windowOpened(WindowEvent e)/对其不感兴趣的方法可以方法体为空 public void windowIconified(WindowEvent e) public void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南宁市第五十四中学秋季学期招聘备考题库及答案详解1套
- 2026年长沙职业技术学院单招职业倾向性考试题库带答案详解(新)
- 国家事业单位招聘2024教育考试院招聘笔试历年参考题库典型考点附带答案详解
- 2026年鹤壁职业技术学院单招职业适应性考试题库参考答案详解
- 2025年红古区人民医院招聘工作人员的备考题库附答案详解
- 2026年阜阳职业技术学院单招职业适应性测试题库含答案详解(a卷)
- 青岛市卫生健康委员会直属事业单位校园招聘2026届高校毕业生备考题库及答案详解(新)
- 2025年弥渡县疾病预防控制中心招聘编制外工作人员的备考题库及完整答案详解
- 2026年长白山职业技术学院单招职业技能测试题库带答案详解(完整版)
- 2026年阿坝职业学院单招职业技能考试题库带答案详解(突破训练)
- 2026年食品安全与环境管理的关系
- 2025-2026学年湘美版美术八年级下册1.3走向现代课件
- 高中英语必背3500单词表完整版
- 说明书hid500系列变频调速器使用说明书s1.1(1)
- 全套电子课件:数据结构(C语言版)(第三版)
- 测量管理体系标准宣贯ppt课件
- 2020年小学中高年级书法教程ppt课件
- 前期手续横道图
- 计算机各种进制转换练习题(附答案)参考模板
- MFB60T系列自动封边机
- 非开挖水平定向钻牵引管专项施工方案
评论
0/150
提交评论