java里的remove的用法和random的实现

一个list里存有5首歌格式是歌名[演唱者]风格例如:IfIWereABoy[Beyonce]PopularLetitbe[Beatles]PopularLiveYour... 一个list里存有5首歌
格式是
歌名 [演唱者] 风格
例如:
If I Were A Boy [Beyonce] Popular
Let it be [Beatles] Popular
Live Your Life [T.I. Featuring Rihanna] Popular
So What [Pink] Popular
Whatever You Like [T.I.] Popular

我要做一个remove功能通过搜索歌名和演唱者来删除条目
请问改怎么写
public void remove(String track, String artist)
{
}
=======================================================
还是这个程序里,我要通过搜索部分歌名来播放(顺序/乱序播放)
public void playTrack(String trackNamePortion, boolean random)
{
}
就是这个在搜索到的歌名里怎么乱序播放呢?
比如通过indexOf()搜到以“L”开头的两首歌
Let it be [Beatles] Popular
Live Your Life [T.I. Featuring Rihanna] Popular
我想让他们乱序一下该怎么写?

搜索风格可以用endsWith()来实现
如果是通过搜索字符串当中的[表演者]该怎么写呢?indexOf()吗?
展开
 我来答
casherwee
2008-11-07 · TA获得超过100个赞
知道答主
回答量:66
采纳率:0%
帮助的人:84.5万
展开全部
//////时间关系,解决了第一个问题///////////////////////////
//////取歌手名字的方法写的不好,其实可以用取歌名的方法//////

import java.awt.List;

public class ListTest{
static List list=new List(); //存放歌曲列表
public static String getPersonName(String ListItem) //得到歌手名字
{
String [] li=ListItem.split(" ");
String Pname=li[li.length-2];
String PersonName="";
for (int i=1;i<Pname.length()-1;i++)
{
PersonName+=Pname.charAt(i);
}
return PersonName;
}
public static String getSongName(String ListItem)//得到歌名
{
int a=ListItem.indexOf("[");
String SongName="";
for(int i=0;i<a-1;i++)
{
SongName+=ListItem.charAt(i);
}
return SongName;
}
public void remove(String track,String artist)
{
for(int i=0;i<list.getRows();i++)
{
String PersonName=getPersonName(list.getItem(i));
String SongName=getSongName(list.getItem(i));
if(track.equals(SongName)&artist.equals(PersonName))
{
list.remove(i);
}
}
}
public static void main(String[] args) {
ListTest lt=new ListTest();
list.add("If I Were A Boy [Beyonce] Popular ");
list.add("Let it be [Beatles] Popular ");
list.add("Live Your Life [T.I. Featuring Rihanna] Popular ");
list.add("So What [Pink] Popular ");
list.add("Whatever You Like [T.I.] Popular ");
lt.remove("If I Were A Boy","Beyonce");
for(int i=0;i<list.getRows();i++)
{
System.out.println(list.getItem(i));
}
}
}
百度网友97530805f
2008-11-07 · TA获得超过253个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:131万
展开全部
可以用split('[');把他分成一个字符串数组,数组中的第二个字符串就是歌手,乱序播放的话,就用random()方法;给歌名从0到n编号,然后取随机数就可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式