上传JAVA实验报告.doc_第1页
上传JAVA实验报告.doc_第2页
上传JAVA实验报告.doc_第3页
上传JAVA实验报告.doc_第4页
上传JAVA实验报告.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科实验报告课程名称: Java语言程序设计 实验项目: 实验一 Java语言基础 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 实验名称 实验1 Java语言基础实验目的和要求目的:(1) 通过实验,掌握Java语言程序设计的基本方法。(2) 学会Java语言中标示符的命名、运算符和表达式的应用。(3) 熟练地掌握Java程序流程控制语句的应用。实验内容(1) 编写应用程序,计算100(含100)以内所有偶数的和。(2) “水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。(3) 编写一个程序,求1-100间的素数。(4) 有一函数: x (x1)Y= 3x-2 (1x10) 4x (x10) 写一程序,给定x值,输出y值。(5) 使用for循环语句,编写程序输出以下图案。(6) 编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是: 若年号可以被4整除,而不能被100整除,则是闰年; 若年号可以被400整除,也是闰年。主要仪器设备台式或笔记本计算机实验记录(1)public class sum public static void main(String args) int i=100; int sum=0; System.out.println(2+4+6+8+.+100=); for(i=1;i=100;i+) if (i%2=0) sum+=i; System.out.println(sum); 结果:(1)(2)(4)(2)public class shuixianhuan public static void main(String args) int a;int b;int c; int sum;System.out.println(请输出所有的水仙花数:);for (a = 0; a 10; a+)for (b = 0; b 10; b+)for (c = 0; c 100)System.out.println(sum);(3)public class sushu public static void main(String args) / TODO Auto-generated method stubint j; for (int i=2;i=100;i+) for (j=2;ji;j+) if (i%j=0) break; if(ji) continue; else System.out.println(i); 结果:(3)(4)import java.util.*;public class hanshu public static void main(String args) throws Exception Scanner input =new Scanner(System.in); System.out.println(请输入x的值:); int x= input.nextInt(); int y; if(x=10) y=4*x; else y=(3*x-2); System.out.println(计算结果为:+y); (5)public class tuan public static void main(String args) int n=4;for(int i=1;i=i;k-)/打印空格System.out.print( ); for(int j=1;j=1;i-) for(int k=i;k=n-1;k+) System.out.print( ); for(int j=1;j=2*i-1;j+) System.out.print(); System.out.println(); 结果:(5) (6)public class runnian public static void main(String args) for (int i=1990;i=2100;i+) if(i%400=0) System.out.println(i+年是闰年); if(i%4=0)&(i%100!=0) System.out.println(i+年是闰年); 结果:(6)遇到的问题和解决方法基本没有遇到什么问题,都是一些经典的算法,只是还不熟练。心得体会通过实验一,对Java编程有了基本的了解,可以编写一些小程序,需要注意的是要多练习,还不是很熟。实验名称 实验二 数组和字符串编程实验目的和要求目的:(1) 通过实验,掌握Java语言中数组、字符串程序设计的基本方法。(2)较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。实验内容(1) 编写一个程序,在控制台输入10个数,按大小顺序输出。(2) 求一个3*3矩阵对角元素之和。(3) 输入一段字符串,统计其中有多少个单词。(单词用空格隔开)。主要仪器设备台式或笔记本计算机实验记录(1)import java.util.*;public class daxiaoshu public static void main(String args) throws Exception int num=new int 10;Scanner input = new Scanner (System.in); System.out.println(请输入数字:);for(int i=0;i10;i+) numi=input.nextInt();Arrays.sort(num); /对数组进行升序排列 System.out.println(从小到大输出:);for(int j=0;jnum.length;j+) System.out.print(numj+ ); 结果:(1)(2)(3)(2)import java.util.*;public class juzhen public static void main(String args) Scanner in = new Scanner(System.in); System.out.println(请输入一个3*3矩阵:); int sum=0; int a=new int33; for(int i=0;i3;i+) for(int j=0;j 0) rtr_str = ( + m + + + n + i + ); if (n = 0) rtr_str = ( + m + ); if (n this.balance)System.out.println(金额不足,请重新输入);else this.balance-=money; System.out.println(你取了+money+元);public class Account public static void main(String args) Account a=new Account(*,400); System.out.println(账户余额为+a.getbalance()+元); a.deposit(500); System.out.println(你存入+a.getbalance()+元); System.out.println(账户余额为+a.getbalance()+元); a.withdraw(300); (3) package mymaths;interface Num public void Max(); public void Min();public class interface implements Numint a,b,c;public interface (int a,int b,int c) this.a=a; this.b=b; this.c=c;public void Max() 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 static void main(String args) interface qr=new interface (8,4,13); qr.Max(); qr.Min();结果:(3)(4)package cn.test.suppermacket.pojo;public class Goods private String name; private double price; private int number; private int sale; private String add; private int showMe; public String getName() return name; public void setName(String name) = name; public double getPrice() return price; public void setPrice(double price) this.price = price; public int getNumber() return number; public void setNumber(int number) this.number = number; public int getSale() return sale; public void setSale(int sale) this.sale = sale; public String getAdd() return add; public void setAdd(String add) this.add = add; public int getShowMe() return showMe;package cn.test.suppermacket1;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import cn.test.suppermacket.pojo.Goods;public class Suppermarket private Goods goods; private Map market=new HashMap(); public Goods getGoods() return goods; public void setGoods(Goods goods) this.goods = goods; public boolean append(Goods goods) if(market.get(goods.getName()!=null) market.get(goods.getName().setNumber(market.get(goods.getName().getNumber()+1);else goods.setNumber(1); market.put(goods.getName(), goods); return true; public boolean delete(String name) if(market.get(name)!=null) if(market.get(name).getNumber()=0) System.out.println(已经没货了); market.get(name).setNumber(1); market.get(name).setNumber(market.get(name).getNumber()-1); else System.out.println(没有这种商品!); return true; public void query() if(market.size()0) Iterator iter=market.values().iterator(); for(int i=0;imarket.size();i+) Goods emp=(Goods) iter.next(); System.out.println(商品名称:+emp.getName(); System.out.println(商品价格:+emp.getPrice(); System.out.println(商品数量:+emp.getNumber();System.out.println(商品上架情况:+(Y.equals(emp.getAdd()?已上架:未上架);System.out.println(商品信息:+emp.getShowMe(); elseSystem.out.println(超市什么都没有了!); public void doSale(String name) if(market.get(name)!=null) if(market.get(name).getNumber()2) System.out.println(market.get(name).getName()+最后一件售出了!); if(market.get(name).getNumber()=0) System.out.println(已经没货了!); market.get(name).setNumber(1); market.get(name).setNumber(market.get(name).getNumber()-1); else System.out.println(没有这种商品!); public void doAdd(String name) if(market.get(name)!=null) if(Y.equals(market.get(name).getAdd() System.out.println(market.get(name).getName()+已经上架); else market.get(name).setAdd(Y); public boolean findGoods(String name) if(market.get(name)!=null) return true; return false; package cn.test.test;import java.util.Scanner;import cn.test.suppermacket1.Suppermarket;import cn.test.suppermacket.pojo.Goods;public class DemoTest public static void main(String args) Suppermarket macket=new Suppermarket(); Scanner sc = new Scanner(System.in); showMune(sc,macket); public static void showMune(Scanner sc,Suppermarket macket) while(true) System.out.println(*); System.out.println(*超市测试菜单*); System.out.println(*(1)增加新的商品*); System.out.println(*(2)减少已有商品*); System.out.println(*(3)现有商品列表*); System.out.println(*(4)商品货物出售*); System.out.println(*(5)商品上架操作*); System.out.println(请输入你要的操作序号(1-5):); int i=sc.nextInt(); switch(i) case 1: Goods goods=new Goods(); makeGoods(goods,sc,macket); macket.append(goods); break; case 2: System.out.println(请输入要减少的商品名称:); String name=sc.next(); macket.delete(name); break; case 3: macket.query(); break; case 4: System.out.println(请输入要出售的商品名称:); name=sc.next(); macket.doSale(name); break; case 5: System.out.println(将商品标记为上架:); name=sc.next(); macket.doAdd(name); break; public static Goods makeGoods(Goods goods,Scanner sc,Suppermarket macket) System.out.println(请输入要添加的商品名称:); goods.setName(sc.next(); String name=goods.getName(); if(macket.findGoods(name) return goods; System.out.println(请输入商品的价钱); goods.setPrice(sc.nextDouble(); System.out.println(请输入产品的相关信息); return goods; 结果: 遇到的问题和解决方法实验三进行的比较艰难,不能很好的建立起框架,在过程中也不断遇到问题。经过请教同学,上网查资料,最终得出答案,但是答案也用了很长时间去理解。对基本知识的掌握还是不扎实,今后得多加练习。心得体会通过实验三,开始初步接触Java的一些长程序,发现在编写程序时候不能很好的建立起框架,正题比较混乱,在请教同学上网查资料后才终于得出答案,看懂了资料的程序,试着去自己理思路,对所学的知识有了进一步的了解,从超市系统这个程序中学到了很多东西。实验名称 实验四 Java异常处理实验目的和要求目的:掌握异常的概念,以及如何定义、抛出和捕获处理异常。实验内容(1) 做实验之前要求思考以下问题,作为预习内容;1 错误和异常有何区别?查看Java异常类的关系图。2 异常是如何抛出、捕获和处理的?3 Java捕获和处理异常的结构式怎样的?4 Try语句如何嵌套?Trow语句有何作用?Finally程序快的作用是什么?(2) 运行下面的程序,理解异常的抛出、捕获与处理。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=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); (3)在实验三中的超市、商品类中创建一个自定义异常类。 要求:在定义商品类时,若销售商品数量大于余额则作为异常处理(InsufficientFundsException)。提示:1 产生异常条件是某类商品销售数量大于库存额,因此是否抛出异常要先判断该条件。2 确定产生异常的方法,应该在sale方法中产生异常Insufficient Funds Exception。3 处理异常安排在调用sale的时候,因此sale方法要声明异常,由上级方法捕获并处理。4 要定义好自己的异常。主要仪器设备台式或笔记本计算机实验记录(1) 答:错误是程序运行过程中产生的,如除数为零、文件不能打开,数组下标超过界限,内存不够用等。异常是程序运行中打断正常程序流程的任何不正常情况。 用throw、throws抛出异常,将要异常监控的程序段放在try代码块中,如果try代码块中发生异常,抛出的异常会被捕获。抛出的异常用catch捕获。 try-catch-finally throw语句用于抛出异常,finally字句为异常处理提供一个统一的出口,使得在控制流转到其他部分以前,能够对程序的状态作统一的管理。(2) 结果: (3) public class yichangchulipublic static void main(String args) try Shop sh = new Shop(100);sh.sale(200);System.out.println(销售成功!); catch (InsufficientFundsException e) System.out.println(e.toString();class Shop int num;Shop(int num) this.num = num;public void deposite(int dAmount) num += dAmount;public void sale(int dAmount) throws InsufficientFundsException if (num dAmount)throw new InsufficientFundsException();num = num - dAmount;class InsufficientFundsException extends Exception InsufficientFundsException() super(商品销售数量大于库存额!);结果:遇到的问题和解决方法在运行程序后理解了异常的捕获与处理,但是在实际的例子里却不会捕获异常,还需要不断练习。心得体会通过这次实验,对Java里异常的捕获与处理有了进一步的了解,知道了如何去捕获处理异常,对今后的编程起到了一定的作用。实验名称 实验五 多线程编程实验目的和要求目的:(1) 现成的概念、线程的生命周期。(2) 多线程的编程:扩展Thread类与使用Runnable接口。(3) 使用多线程机制实现动画。实验内容(1) 运行下面的程序,理解用创建Thread子类的方法实现多线程。/S09_01_Thread.JavaImport java.util.*;class S09_01_Thread extends Thread 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_Thread 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=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_02_Thread(3000,Slow); t2.start(); (3) 创建简单的程序ThreeThread.java,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。主要仪器设备台式或笔记本计算机实验记录结果:(1)(2)(3) import java.util.*;public class L09_03_ThreeThread extends Thread int pauseTime; String name; public L09_03_ThreeThread(int x,String n) pauseTime=x; name=n; public void run() while(true) try System.out.println(name+:+new Date(System.currentTimeMillis(); catch(Exception e) System.out.println(e); public static void main(String args) L09_03_ThreeThread tp1=new L09_03_ThreeThread(1000,Fast); tp1.start(); L09_03_ThreeThread tp2=new L09_03_ThreeThread(2000,Midle); tp2.start(); L09_03_ThreeThread tp3=new L09_03_ThreeThread(3000,Slow); tp3.start(); 结果:(3) 遇到的问题和解决方法基本没有遇到什么问题,根据例子编写线程。心得体会 通过这次实验,对线程的概念有了进一步的了解,每次程序执行的结果都不相同,对线程有了进一步的了解。实验名称 实验六 图形用户界面编程实验目的和要求目的: 掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法。实验内容(1) 编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态条显示相应的时间信息。提示:使用sho

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论