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()吗? 展开
格式是
歌名 [演唱者] 风格
例如:
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()吗? 展开
2个回答
展开全部
//////时间关系,解决了第一个问题///////////////////////////
//////取歌手名字的方法写的不好,其实可以用取歌名的方法//////
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));
}
}
}
//////取歌手名字的方法写的不好,其实可以用取歌名的方法//////
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));
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询