ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:65.01KB ,
资源ID:28357682      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28357682.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(报告模板ktv.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

报告模板ktv.docx

1、报告模板ktv滨州学院计算机科学技术系Java语言程序设计课后作业题目 姓名 学号 专业 班级 年 月 日 成绩 教师签名 问 题 描 述 及 分 析(根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么)1 模拟ktv点歌系统做基于java控制台的程序。2 将歌曲的名字,歌手名字,歌曲内容保存。3 能够从文件中读取大量歌曲的信息,并保存。4 对歌曲能够按歌名排名,也能按歌手名字保存。5 能通过歌名查找相关信息,也能按歌手查找相关信息。6 能添加歌曲。设计思路描述调试过程中遇到的问题及解决办法(调试过程中遇到的主要问题及解决方法,得到的结论)问题1:歌名和歌手字符串不能比较。解决办法:

2、转换成char类型数组,逐个比较,并比较ACSII的值。class MusicNameComparator implements Comparator Override public int compare(Music arg0, Music arg1) / TODO Auto-generated method stub char name1=arg0.GetMusName().toCharArray(); char name2=arg1.GetMusName().toCharArray(); int i=0; while(name1i=name2i&iname1.length&iname2.

3、length)i+; return name1i-name2i; 结论:字符串转换成char类型数组,逐个比较,并比较ACSII的值。问题2:文件读取时,信息分类解决办法:public void AddByFile (List allMusic) String musname,lyric,singer; tryBufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(123.txt); String data = null; data=br.readLine(); while(data!=n

4、ull)Music music=new Music(); for(int j=0;j3;j+) if(j%3=0) musname=data; music.SetMusName(musname); else if(j%3=1) singer=data; music.SetSinger(singer); else if(j%3=2) lyric=data; music.SetLyric(lyric); allMusic.add(music); data=br.readLine(); Collections.sort(allMusic, new MusicNameComparator(); cat

5、ch(IOException ioe) ioe.toString(); 结论:用BufferedReader.readline();从文件里一行一行读取。总 结(对结果进行分析,设计心得,重点突出特色及改进设想)1.加深对java集合框架的理解。2.加深对 comparator接口的练习,对Collections.sort(List list,Comparator);的使用3.对String.indexof();的使用。可以返回字符串是否存在相应的字串。4.加深了对面向对象思想的理解。和接触面向接口的思想。附 录(参考资料等)import java.util.Comparator;public

6、 class Music private String Number; private String MusName; private String Singer; private String Lyric; public Music() this.MusName=Null; this.Singer=Null; this.Lyric=Null; public Music(String musName,String singer,String lyric) this.MusName=musName; this.Singer=singer; this.Lyric=lyric; public voi

7、d SetMusName(String name) this.MusName=name; public void SetSinger(String singer) this.Singer=singer; public void SetLyric(String lyric) this.Lyric=lyric; public String GetMusName() return this.MusName; public String GetSinger() return this.Singer; public String GetLyric() return this.Lyric; public

8、String toString() return n歌名:+this.MusName+n歌手:+this.Singer+n歌词:+this.Lyric; public void play() System.out.println(正在播放。n+this.Lyric); class HappyMusic extends Music public HappyMusic(String musName, String singer, String lyric) super(musName, singer, lyric); / TODO Auto-generated constructor stub c

9、lass MusicNameComparator implements Comparator Override public int compare(Music arg0, Music arg1) / TODO Auto-generated method stub char name1=arg0.GetMusName().toCharArray(); char name2=arg1.GetMusName().toCharArray(); int i=0; while(name1i=name2i&iname1.length&iname2.length)i+; return name1i-name

10、2i; class MusicSingerComparator implements Comparator Override public int compare(Music o1, Music o2) / TODO Auto-generated method stub char singer1=o1.GetSinger().toCharArray(); char singer2=o2.GetSinger().toCharArray(); int i=0; while(singer1i=singer2i&isinger1.length&isinger2.length)i+; return si

11、nger1i-singer2i; import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.Scanner;public class MusicManner private St

12、ring PlayLsit; private List allMusic; public List GetallMusic() return this.allMusic; public MusicManner(String name) this.PlayLsit=name; allMusic=new ArrayList(); AddByFile(allMusic); public void AddByFile (List allMusic) String musname,lyric,singer; try BufferedReader br = new BufferedReader(new I

13、nputStreamReader(new FileInputStream(123.txt); String data = null; data=br.readLine(); while(data!=null) Music music=new Music(); for(int j=0;j3;j+) if(j%3=0) musname=data; music.SetMusName(musname); else if(j%3=1) singer=data; music.SetSinger(singer); else if(j%3=2) lyric=data; music.SetLyric(lyric

14、); allMusic.add(music); data=br.readLine(); Collections.sort(allMusic, new MusicNameComparator(); catch(IOException ioe) ioe.toString(); public void AddByUser() Music music=new Music(); Scanner input=new Scanner(System.in); System.out.println(输入歌名:); music.SetMusName(input.next(); System.out.println

15、(输入歌手:); music.SetSinger(input.next(); System.out.println(输入歌词:); music.SetLyric(input.next(); this.allMusic.add(music); public void SortMusicByName() Collections.sort(this.allMusic, new MusicNameComparator(); public void SortMusicBySinger() Collections.sort(this.allMusic, new MusicSingerComparator(

16、); public Music GetMusicByName(String name) Music music=null; for(Music tempmusic:this.allMusic) if(tempmusic.GetMusName().equals(name) music=tempmusic; break; return music; public Music GetMusicBySinger(String singer) Music music=null; for(Music tempmusic:this.allMusic) if(tempmusic.GetSinger().equ

17、als(singer) music=tempmusic; break; return music; public void DeleByUser(String name) Music music; if(music=GetMusicByName(name)!=null) allMusic.remove(music); System.out.println(删除成功!); else System.out.println(歌曲不存在!); public List IndexMusicOfName(String keyword) List list=new ArrayList(); for(Musi

18、c tempmusic:this.allMusic) if(tempmusic.GetMusName().indexOf(keyword)!=-1) list.add(tempmusic); printmusiclistbyname(list); return list; public void printmusiclistbyname(List list) for(Music music:list) System.out.println(music.GetMusName()+n); public List IndexMusicOfSinger(String keyword) List lis

19、t=new ArrayList(); for(Music tempmusic:this.allMusic) if(tempmusic.GetSinger().indexOf(keyword)!=-1) list.add(tempmusic); printmusiclistbysinger(list); return list; public void printmusiclistbysinger(List list) for(Music music:list) System.out.println(music.GetSinger()+n); import java.util.Scanner;p

20、ublic class MusicTest public static void main(String args) / TODO Auto-generated method stub MusicManner ktv=new MusicManner(大家乐); Scanner input=new Scanner(System.in); int command; while( command=read1(input)!=4) switch(command) case 1: Music music; while(command=read2(input)!=3) switch(command) ca

21、se 1: ktv.printmusiclistbyname(ktv.GetallMusic(); System.out.println(请输入歌名:); String name=input.next(); if(music=ktv.GetMusicByName(name)!=null) System.out.println(music.toString(); music.play(); else System.out.println(很抱歉,没有找到相应的歌。正在查找相似的歌名.); ktv.IndexMusicOfName(name); System.out.println(希望有您要找的

22、结果.); continue; continue; case 2: ktv.printmusiclistbysinger(ktv.GetallMusic(); System.out.println(请输入歌手:); String singer=input.next(); if(music=ktv.GetMusicBySinger(singer)!=null) System.out.println(music.toString(); music.play(); else System.out.println(很抱歉,没有找到相应的歌。正在查找相似的歌手.); ktv.IndexMusicOfSi

23、nger(singer); System.out.println(希望有您要找的结果.); continue; continue; case 2: ktv.AddByUser(); System.out.println(step2); continue; case 3: System.out.println(step3); System.out.println(请输入要删除歌曲的名字:); String name=input.next(); ktv.DeleByUser(name); continue; case 4: System.out.println(quit); return; default: System.out.println(default); System.out.println(欢迎下次光临。); public static int read1(Scanner input) System.out.println(欢迎来到:大家乐点歌系统!请选择:1.点歌 2.添加歌曲 3.删去歌曲 4.退出); return input.nextInt(); public static int read2(Scanner input) System.out.println(请选择:1.歌名 2.歌手 3.返回); return input.nextInt();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1