JAVA实验报告 字符串处理

JAVA实验报告 字符串处理
JAVA实验报告 字符串处理

JAVA学生信息管理系统实验报告

JA V A程序设计实验报告 学号: 姓名: 班级: 实验、Java课程设计--------学生信息管理系统

一、实验目的 1.掌握Java基本语法 2.理解面向对象编程特点 3.理解Java I/O编程 4.掌握Java图形界面编程 5.掌握Java与不同数据库进行连接 二、预习内容 Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作 三、实验设备与环境 通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。并安装MySQL数据库 四、实验内容 编写并调试运行Java程序,进行设计,掌握Java开发的基础。 五、实验任务 设计学生信息管理系统。要求包括 1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。而普通用户只可以查找学生信息。 2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块 3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。 六、实验报告(要求独立完成参考程序的代码、编译、调试与运行) 1、程序清单: 1.1程序模块清单 package Pan; import java.awt.event.ItemListener; import javax.swing.*; import https://www.360docs.net/doc/c9905247.html,ponent;

import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.InputEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.*; import java.awt.Color; import java.text.DecimalFormat; import java.sql.*; import java.sql.Date; import java.awt.*; import java.util.Vector; public class Res { /** * @param args */ public static void main(String[] args) {

JAVA实验3-异常处理和常用实用类-报告

信息工程学院1 《Java语言程序设计》实验报告 学院: 班级: 姓名: 学号: 成绩: 一、实习目标 (1)掌握Java的异常处理机制及相关实现方法; (2)掌握常用实用类的使用,熟悉使用JDK_API进行软件开发; (3)掌握Java中正则表达式的基本用法。 二、实验过程 实验题1 try-catch练习: JAVA_API: getMassage():返回此throwable或exception的详细消息字符串,正数除0 返回Infinity,负数除0返回-Infinity。 toString():对象利于null的详细消息字符串创建,则返回此对象的实际类的 名称,返回此throwable的简短描述。 printStackTrace():将错误的详细信息追踪到代码中具体某一行,将throwable 及其追踪输出至标准错误流。 代码截图: CatchError类: 实验报告的内容与格式按任课教师的要求书写。

MainTest类:

运行结果: 实验题2 用户自定义异常: 在ExceptionTest类中进行成绩录入和平均成绩的计算。 StasticScore类为成绩录入的具体方法,并进行异常检测。 ScoreException类继承StasticScore,输出错误提示。 代码截图: ExceptionTest类: ScoreException类:

StasticScore类:

运行结果:

实验题3 String & StringBuffer的使用: JAVA_API: Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果不存在,返回-1。 Static String valueOf(int i)函数:返回int参数的字符串表示形式。该表示形式正是单参数的interger.toString方法返回的结果。 Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果不存在,则返回-1。 Public StringBuffer append(String str)函数:将指定的字符串追加到此字符序列。按顺序追加String变量中的字符,使此序列增加到该变量的长度。 代码截图: TestOfKeyword类:

语音识别系统实验报告材料

语音识别系统实验报告 专业班级:信息安全 学号: 姓名:

目录 一、设计任务及要求 (1) 二、语音识别的简单介绍 2.1语者识别的概念 (2) 2.2特征参数的提取 (3) 2.3用矢量量化聚类法生成码本 (3) 2.4VQ的说话人识别 (4) 三、算法程序分析 3.1函数关系 (4) 3.2代码说明 (5) 3.2.1函数mfcc (5) 3.2.2函数disteu (5) 3.2.3函数vqlbg (6)

3.2.4函数test (6) 3.2.5函数testDB (7) 3.2.6 函数train (8) 3.2.7函数melfb (8) 四、演示分析 (9) 五、心得体会 (11) 附:GUI程序代码 (12) 一、设计任务及要求 实现语音识别功能。 二、语音识别的简单介绍

基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。 语音识别系统结构框图如图1所示。 图1 语音识别系统结构框图 2.1语者识别的概念 语者识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,

音频编辑实验报告

音频编辑实验报告 姓名:戴俏波班级:机电1113班学号:11223064 一.实验内容及任务要求 1. 内容:学习audition的使用 2. 要求:广播剧的设计与制作 二.实验步骤 1、选好广播剧剧本《卖火柴的小女孩》 2、在多轨视图界面用Audition完成素材的录音,步骤如下: (1)执行【选项】|【Windows录音控制台】,打开【录音控制】对 话框,进行相关设置。 (2)设置完毕后关闭【录音控制】对话框。 (3)打开剧本。 (4)单击【传送器】面板中的【录音】按钮,并切换到剧本,使用麦克 风进行剧本表演。完毕后,再次单击【录音】按钮,结束声音的录制。 (5)单击【传送器】面板的【播放】按钮,试听录制的效果。 (6)执行【文件】|【另存为】命令,保存录制的音频文件 3、对录制的音频在编辑模式下进行处理 (1)删减空白音频波形 (2)增加间隔时间 (3)对音频进行降噪处理 (4)修复破音 (5)增大音频音量

(6)为声音添加混响效果 (7)对处理后的音频进行局部修整,或调整局部的音量大小,或去除局部的噪音,使得整个音频听起来更加与谐。 4、给录制的音频添加背景音乐 (1)在网上下载背景音乐《卖火柴的小女孩》与其她配合使用的音乐素材,如风声,铃铛声,马蹄声,马啸声。 (2)将音乐添加到第二个音轨上,配合录制的音频的情境适当删减音频的长度或增加音频的长度。 (3)适当减小背景音乐声音的大小,使得二者相匹配。 5、试听录制的音频与背景音乐一起的效果,根据视听效果局部修整音频。 6、将修改后的广播剧保存成mp3格式。 三.实验感悟 1、由于音频实验就是几周前完成的,开始不知道要写实验报告,所以就没有截屏,只简单地介绍了一下具体进行的音频编辑操作,请老师谅解。 2、在进行音频编辑操作时,只选中自己想编辑的区域进行编辑,不要全部选择。比方说用降噪器效果,如果将音频全部选中,则全部降噪,不能达到预想的效果。 3、录音时不要离话筒太近,也不要太大声,否则波形振幅过大,不容易编辑而且容易失真。录音时尽量保持周围无噪音。 4、要及时保存,否则很容易丢失音频。

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: : 指导老师:

进程调度的模拟与存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若存中进程少于规定道数,可自 动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能 用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。 7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,

PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果存中的进程数还没达到规定道数,则将新建进程插入就绪队列,如果存中进程数已经达到规定道数,则插到后备队列,后备队列中的进程的状态为new。CPU每次调度时都从就绪队列中取进程,在进程执行过程中如果下一个操作时IO操作,则将进程插入到waiting队列。在系统运行过程中可以执行进程挂起操作,但执行的挂起操作时系统自动暂停运行,在弹出窗口选

JAVA异常实验报告

一. 实验目的及实验环境 实验目的:1.理解JA V A对异常的处理 2.掌握自定义异常的定义方式 实验环境:eclipse 4.4 二. 实验内容 1.假设Sum类中有一个addContinue(int n)方法,当n>0时,方法翻译1+2+…+n 的和;当n<0时,方法抛出一个受检查的ArgumentException异常。ArgumentException类应该提供一个能够接受并保存n值得构造方法,以及一个能返回n值得实例方法,现定义Sum类以及ArgumentException类,并编程测试它们。 三.方案设计 1.定义三个类Sum,ArgumentException,Test类 2.分别在类中实现加法,异常抛出和测试 四.测试数据及运行结果 1.正常测试数据(3组)及运行结果;

2.非正常测试数据(2组)及运行结果。 五.总结 1.实验过程中遇到的问题及解决办法; ①中没有明确表示需要进行异常抛出很有可能就会忘记这个题目存在的问题。所以平常程序设计时,应该多考虑不同的情况,防止程序出现不可逆的漏洞。 ②如果发生可识别的运行错误,系统应产生一个相应的异常类对象,并进一步寻找异常处理代码来处理它,确保程序能从故障中恢复,之程序能够运行下去,直

到结束。 2.对设计及调试过程的心得体会。 中断,影响程序正常运行的事件称为异常。异常处理是使程序从故障中恢复,他包括提示异常信息、不产生无效结果和释放资源三方面内容。其中,显示异常信息和不产生无效结果可通过try和catch块来实现,释放资源可通过finally块实现。 附代码 public class Add { public int addContinue(int i) throws ArgumentException{ int sum=0; if( i<0){ throw new ArgumentException(i); } for(int n=0;n<=i;n++){ sum=sum+n; } return sum; } } public class ArgumentException extends Exception { private int n; public ArgumentException(int n) { this.n = n; } public int getN(){ return n; } } public class test { public static void main(String[] args){ Add s = new Add(); try { System.out.println(s.addContinue(-1)); } catch (ArgumentException e) { System.out.println(e.getN()); } } }

语音信号处理实验报告

语音信号处理实验 班级: 学号: 姓名: 实验一基于MATLAB的语音信号时域特征分析(2学时)

1)短时能量 (1)加矩形窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32; for i=2:6 h=linspace(1,1,2.^(i-2)*N);%形成一个矩形窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if(i==2) ,legend('N=32'); elseif(i==3), legend('N=64'); elseif(i==4) ,legend('N=128'); elseif(i==5) ,legend('N=256'); elseif(i==6) ,legend('N=512'); end end

00.51 1.52 2.5 3 x 10 4 -1 1 x 10 4 024 x 10 4 05 x 10 4 0510 x 10 4 01020 x 10 4 02040 (2)加汉明窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32; for i=2:6 h=hanning(2.^(i-2)*N);%形成一个汉明窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if(i==2), legend('N=32'); elseif(i==3), legend('N=64'); elseif(i==4) ,legend('N=128');

音频技术实验报告

实验编号:四川师大《声音媒体技术》实验报告 2017年11月5日计算机科学学院级班实验名称:声音信号的编辑处理 姓名:学号:指导老师:实验成绩: 实验录音系统的连接和使用 一.实验目的及要求 (1)掌握录音系统的连接方法; (2)熟悉录音系统相应设备的功能,并熟练使用; (3)掌握录音系统功率匹配、阻抗匹配的原理; 二.实验内容 (1)利用阻抗匹配、功率匹配原理,实现录音系统连接; (2)熟练掌握阻抗匹配、功率匹配实现录音系统连接的工作原理; (3)熟悉录音系统各类设备的操作使用; 三.实验主要流程、步骤(该部分如不够填写,请另加附页) 1.利用阻抗匹配、功率匹配原理,实现录音系统连接。 (1)老师介绍调音台的各输入与输出端子的功能,以及其控制按钮的名称和作用。 (2)用转换头将电容式话筒连接到调音台,电容式话筒的插头插在1和2路录音孔中,(遵循阻抗匹配原理,一定要注意传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,即传输线的输入端或输出端处于阻抗匹配状态); (3)再把监听耳机的插头插在监听插口。 (4)把调音台的输出端用连接线与电脑的主机连接,给电脑传送音频信号,(遵循阻抗匹配原理,电脑的功率要和传输线的输出功率匹配); (5)最后连接电源线 (6)MONITOR是总监听音量旋钮,调节该通路在监听线路中的音量大小。.通过调节HIGH、MIDDLE、LOW三段均衡器旋钮来调节声音大小打开电脑进行调试,测试录音能否正常工作。 2.熟练掌握阻抗匹配、功率匹配实现录音系统连接的工作原理。 (1)阻抗匹配是指负载阻抗与激励源内部阻抗相适配,得到最大功率输出的一种工作状态,阻抗匹配则传输功率大,内阻等于负载时,输出功率最大,此时阻抗匹配。 (2)设备输出功率要与负载阻抗一致。 3.熟悉录音系统各类设备的操作使用。 (1)POWER ON是调音台开关,当 ON 的一边被按下时,调音台便接通电源; (2)MIC是麦克风输入接口,LINE是高电平输入接口,MONITOR是监听输出接口; (3)电容式话筒的敏感度及其高,在录制声音史应该对准说话的人; (4)在调音台每一路输入通道上都有一组均衡旋钮,HIGH是高频,MID是中频,LOW是低频,高中低频率旋钮向左(顺时针)旋时,对应的频段就会得到提升,反之衰减。 四.实验结果的分析与评价(该部分如不够填写,请另加附页 1.阻抗匹配的方法有两种,一种是改变阻抗力,另一种是调整传输线的长度。 2.调音台可对输入的不同电平不同阻抗的音源信号进行放大、衰减、动态调整等,用附 带的均衡器对信号各频段进行处理,调整各通道信号的混合比例后,对各通道进行分配并送至各个接收端,控制现场扩声信号及录制信号。 3.调音台的输入信号大体上分为低阻话筒信号输入和高阻线路信号输入两种。 4.调音台输入插口基本可以分为3种:TRS,XLR,RCA。

java异常处理例题代码教学文稿

j a v a异常处理例题代 码

App9_1.java:输出一个数组的所有元素,捕获数组下标越界异常和除娄为0异常。public class App9_1{ public static void main(String args[]){ int i; int[] a={1,2,3,4}; for(i=0;i<5;i++) System.out.println(" a["+i+"]="+a[i]); System.out.println("5/0"+(5/0)); } } App9_2.java:使用try-catch-finall语句对程序中的异常进行捕获与处理。 public class App9_2{ public static void main(String args[]){ int i; int a[]={1,2,3,4}; for (i=0;i<5;i++){ try{ System.out.print("a["+i+"]/"+i+"="+(a[i]/i)); } catch(ArrayIndexOutOfBoundsException e){ System.out.print("捕获到了数组下标越界异常"); } catch(ArithmeticException e){ System.out.print("异常类名称是:"+e); //显示异常信息 } catch(Exception e){ System.out.println("捕获"+e.getMessage()+"异常!"); //显示异常信息 } finally{ System.out.println(" finally i="+i); } } System.out.println("继续!!"); } } App9_3.java:使用throw语句在方法中抛出异常。 public class App9_3{ public static void main(String args[]){ int a=5,b=0; try{ if (b==0) throw new ArithmeticException(); //抛出异常,不是必须的 else System.out.println(a+"/"+b+"="+a/b); //若不抛出异常,则运行此行

音频功率放大器实验报告

一、实验目的 1)了解音频功率放大器的电路组成,多级放大器级联的特点与性能; 2)学会通过综合运用所学知识,设计符合要求的电路,分析并解决设计过程中遇到的问题,掌握设计的基本过程与分析方法; 3)学会使用Multisim、Pspice等软件对电路进行仿真测试,学会Altium Designer使用进行PCB制版,最后焊接做成实物,学会对实际功放的测试调试方法,达到理想的效果。 4)培养设计开发过程中分析处理问题的能力、团队合作的能力。 二、实验要求 1)设计要求 设计并制作一个音频功率放大电路(电路形式不限),负载为扬声器,阻抗8Ω。要求直流稳压电源供电,多级电压、功率放大,所设计的电路满足以下基本指标: (1)频带宽度50Hz~20kHz,输出波形基本不失真; (2)电路输出功率大于8W; (3)输入阻抗:≥10kΩ; (4)放大倍数:≥40dB; (5)具有音调控制功能:低音100Hz处有±12dB的调节范围,高音10kHz 处有±12dB的调节范围; (6)所设计的电路具有一定的抗干扰能力; (7)具有合适频响宽度、保真度要好、动态特性好。 发挥部分: (1)增加电路输出短路保护功能; (2)尽量提高放大器效率; (3)尽量降低放大器电源电压; (4)采用交流220V,50Hz电源供电。 2)实物要求 正确理解有关要求,完成系统设计,具体要求如下: (1)画出电路原理图; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出;

(5)PCB文件生成与打印输出; (6)PCB版图制作与焊接; (7)电路调试及参数测量。 三、实验内容与原理 音频功率放大器是一种应用广泛、实用性强的电子音响设备,它主要应用于对弱音频信号的放大以及音频信号的传输增强和处理。按其构成可分为前置放大级、音调控制级和功率放大级三部分,如图1所示。 v 图1 音频功率放大器的组成框图 1)前置放大级 音频功率放大器的作用是将声音源输入的信号进行放大,然后输出驱动扬声器。声音源的种类有多种,如传声器(话筒)、电唱机、录音机(放音磁头)、CD 唱机及线路传输等,这些声音源的输出信号的电压差别很大,从零点几毫伏到几百毫伏。一般功率放大器的输入灵敏度是一定的,这些不同的声音源信号如果直接输入到功率放大器中的话,对于输入过低的信号,功率放大器输出功率不足,不能充分发挥功放的作用;假如输入信号的幅值过大,功率放大器的输出信号将严重过载失真,这样将失去了音频放大的意义。所以一个实用的音频功率放大系统必须设置前置放大器,以便使放大器适应不同的输入信号,或放大,或衰减,或进行阻抗变换,使其与功率放大器的输入灵敏度相匹配。另外在各种声音源中,除了信号的幅度差别外,它们的频率特性有的也不同,如电唱机输出信号和磁带放音的输出信号频率特性曲线呈上翘形,即低音被衰减,高音被提升。对于这样的输入信号,在进行功率放大器之前,需要进行频率补偿,使其频率特性曲线恢复到接近平坦的状态,即加入频率均衡网络放大器。 对于话筒和线路输入信号,一般只需将输入信号进行放大和衰减,不需要进行频率均衡。前置放大器的主要功能一是使话筒的输出阻抗与前置放大器的输入阻抗相匹配;二是使前置放大器的输出电压幅度与功率放大器的输入灵敏度相匹配。由于话筒输出信号非常微弱,一般只有100μV~几毫伏,所以前置放大器输入级的噪声对整个放大器的信噪比影响很大。前置放大器的输入级首先采用低噪声电路,对于由晶体管组成的分立元件组成的前置放大器,首先要选择低噪声的晶体管,另外还要设置合适的静态工作点。由于场效应管的噪声系数一般比晶体管小,而且它几乎与静态工作点无关,在要求高输入阻抗的前置放大器的情况下,

java超市管理系统实训报告

1.1 课程设计的目的 通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。 1.2 课程设计的背景和意义 1.2.1课程设计的背景 20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。 超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 1.2.2 课程设计的意义 “数据库课程设计”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。 1.3 课程设计环境 操作系统:Windows xp 开发软件:Microsoft Visual Studio 2005 数据库:Microsoft SQL Server 2005 第2章系统需求分析 随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。

Java实验报告 继承、多态、接口和异常处理

实验5 继承、多态、接口和异常处理 一、实验目的 1、掌握Java的类和对象的声明和使用方法; 2、掌握Java的类的继承和实现方法; 3、掌握多态性在类的继承中的运用; 4、掌握接口的定义与使用; 5、掌握基本异常的处理机制; 6、熟悉try语句与catch语句的搭配使用; 7、了解有异常处理与没有异常处理的差别; 8、多重catch语句的使用; 9、使用Throws声明异常和Throw抛出异常。 二、实验环境 1、PC微机; 2、DOS操作系统或 Windows 操作系统; 3、Java sdk程序开发环境、eclipse集成环境。 三、实验内容 1. 设计三个类,分别是学生类Student,本科生类UnderGraduate,研究生类 Postjgraduate,其中Student类是一个抽象类,它包含学生的基本信息如姓名、所学课程、课程成绩等,而Undergraduate类和Postgraduate类都是Student类的子类,这两个类计算课程成绩等级的方法有所不同,如下表所示。假设某班级里既有研究生又有本科生,编写程序统计出全班学生 2. 和 Mobilephone具体实现,并设计一个应用程序类来使用这些类。 3.要求设计一个GUI图形窗口程序,该程序让用户输入一个星期中的任意一天的数字1-7,然后输出该数字所对应的是星期几。 四、实验步骤 实验内容一

1.建立package experiment5_1,其最终目录结构如下: 2.建立Student类: package experiment5_1; public abstract class Student { final static int CourseNo = 3; String name; String type; int[] courses; String courseGrade; public Student(String name) { https://www.360docs.net/doc/c9905247.html, = name; courses = new int[CourseNo]; courseGrade = "" ; } public abstract void calculateGrade(); public String getName( ) { return name; } public String getType( ) { return type ; } public String getCourseGrade( ) { return courseGrade; } public int getCourseScore(int courseNumber) { return courses[courseNumber]; } public void setName(String name) { https://www.360docs.net/doc/c9905247.html, = name; } public void setType(String type) { this.type = type; } public void setCourseScore(int courseNumber, int courseScore) { //按课程索引号设置课程成绩 this.courses[courseNumber] = courseScore ; } }

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

JAVA+SQL学生学籍管理系统代码及实验报告

学生学籍管理系统 1课程设计目的、设计内容与需求分析 1.1 课程设计目的 通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。 1.2软件设计内容 学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。 SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。 该系统实现的大致功能: 1.管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。 2.查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显示出来。 3.添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加。 4.修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输

JAVA 异常处理实验报告

实验三异常处理 [实验目的] 1.掌握异常处理方法及熟悉常见异常的捕获方法。 [实验内容] 1.练习捕获异常、声明异常、抛出异常的方法、熟悉try和catch 子句的使用。 [实验步骤与要求] 第1题异常处理 要求声明定义两个Exception的异常子类:NoLowerLetter类和NoDigit类。再声明一个People类,该类中的void printLetter(char c)方法抛出NoLowerLetter异常类对象,void PrintDigit(char c)方法抛出NoDigit异常类对象。 [作业提交] 将代码贴在下面: class NoLowerLetter extends Exception{ String message; NoLowerLetter(char c){ message=c+"不是正数"; } public String getMessage(){ return message; } } class NoDigit extends Exception{ String message; NoDigit(char c){ message=c+"不是偶数"; }

public String getMessage(){ return message; } } class People{ public void printLetter(char c) throws NoLowerLetter{ if(c<0){ NoLowerLetter ex=new NoLowerLetter(c); throw(ex); } double number=Math.sqrt(c); System.out.println(c+"的平方根:"+number); } public void PrintDigit(char c) throws NoDigit{ if(c%2!=0){ NoDigit ex=new NoDigit(c); throw(ex); } double number=Math.sqrt(c); System.out.println(c+"的平方根:"+number); } } public class bianma{ public static void main(String args[]){ People p=new People(); try{ p.printLetter('Q'); p.printLetter(' '); } catch( NoLowerLetter e){ System.out.println(e.getMessage()); } try{ p.PrintDigit('d'); p.PrintDigit('a'); } catch( NoDigit e){ System.out.println(e.getMessage()); } } } 将结果运行截屏贴在下面:

《语音信号处理》实验报告材料

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息0704 学生名称:阮光武 学生学好:0903070430 提交日期:2010年6月18日

实验一 语音波形文件的分析和读取 一、实验的任务、性质与目的 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验: (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 二、实验原理和步骤: WAV文件格式简介 WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。

多媒体实验报告:声音的采集与处理

深圳大学实验报告 课程名称:多媒体技术及应用 实验项目名称:声音采集与处理 学院:传播学院 专业: 指导教师:王志强 报告人:刘立娜学号: 2012080286 班 级:4 实验报告提交时间: 2013.03.30 教务处制

一、实验目的与要求 1.通过实验加深对声音数字化的理解。 2.学会正确连接耳麦以及设置录音和放音的方法。 3.掌握声音录制方法并从网上下载音频文件。 4.掌握一种数字音频编辑软件的使用方法。 二、实验方法及步骤 1.实验方法:运用以前了解到的知识内容,在通过阅读书上的实验步骤进行操作。 2.实验步骤 ①Audition的启动与退出 ②录制音频、播放音频、导入音频 ③音频的剪辑 ④音频的特效 三、实验过程及内容 1.Audition的启动与退出 Audition是集声音录制、音频混合和编辑于一身的音频处理软件,它的主要功能包括录音、混音、音频编辑、效果处理、降噪、音频压缩与刻录音乐CD等,还可以与其它音频软件或视频软件协同合作。 Audition提供广泛的、灵活的工具箱,完全能够满足专业录音和专业视频用户的需求。利用Audition,可以录制多轨文件、编辑音频文件、创建原始音乐文件、混缩无限的音频轨道。 启动计算机进入Windows后,可以用鼠标单击任务栏中的“开始”在弹出的开始菜单中,将鼠标指针移到“所有程序—Adobe Audition3.0”菜单命令上,单击即可启动。或把 Audition快捷方式一到桌面上来,单击即可。

图2.1Audition应用程序窗口 如果要退出Audition,可以选择“文件—退出”菜单命令,或按Ctrl+Q组合键,也可以直接单击Audition应用程序窗口右上角的“关闭”在退出之前,如果有已修改的但未存盘的文件,系统会提示保存它。或者点击左上角的“文件—保存”。 图2.2保存提示图2.3 “另存为“对话框 2.录音、播放音频、导入音频 1)录音的操作过程:(单轨录音) 1.选择“文件—新建”菜单命令,这时会出现“新建波形”会话框,如图 2.4所示。选择适当的采样频率、采样分辨率和声道数,如选取44100Hz,16-bit和立体声就可以到达CD 音频效果。 图2.4“新建波形”对话框 2.单击“传送器”控制面板中的红色“录音”按钮,开始录音。对准话筒进行录音,完成后单击“传送器”控制面板的“停止”按钮即可。我们还可以通过控制时间长短来录音,在编辑视图中,选择“选项”菜单中的“时间录音模式”命令。在“传送器”控制面板中单击“录音”这时会出现“定时录音模式”对话框,如图2.5所示。在该对话框中,可以设置录制的时间长短和开始录音。设置完毕,单击“确定”开始按设置进行录音。 图2.5“定时录音模式”对话框

JAVA异常处理实验报告

实验报告 实验名称:异常处理 学院:电子信息工程学院 班级:电信01班 姓名:鲁川 学号: 121040110113 日期: 2014.11.3 成绩:

一、实验名称:异常处理 二、实验目的: 1.掌握异常处理机制的运作 2.掌握处理异常的几个子句:try…catch..finally、thorws和throw 3.掌握字符串类的相关操作 三、实验内容: 1. 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数 组元素,使其产生ArrayIndexOutOfBoundsException异常。在catch子句里捕获此异常对象,并且打印“数组越界”信息,加一个finally子句,打印一条信息以证明这里确实得到了执行。 2. 给定一个字符串,将字符串中的所有大写字母变成小写字母,数字用0来代替,其他符号用#代替。 四、实验代码 1.ExceptionDemo.java class ExceptionDemo { public static void main(String[] args) { int [] arr = new int[]{13,24,1,53,24}; try { int num = arr[5]; } catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组越界啦!!!"); } finally { System.out.println("此处代码一定会执行的--finally"); } } } 运行结果:

2.StringTest.java class StringTest { public static void main(String[] args) { String str = "DfS分手dsA吧25J奋45斗"; System.out.println("原字符串=="+str); StringBuffer sb = new StringBuffer(); for(int i = 0;i='A' && ch<='Z') { sb.append(Character.toLowerCase(ch)); } else if(ch>='a' && ch<='z') { sb.append(ch); }else if(ch>=49 && ch<=58) { sb.append(0); }else { sb.append("#"); }

相关文档
最新文档