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

来源:百度知道 编辑:UC知道 时间:2024/05/27 07:45:16
一个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()吗?

//////时间关系,解决了第一个问题///////////////////////////
//////取歌手名字的方法写的不好,其实可以用取歌名的方法//////

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));
Str