• KTV 点歌系统------ArrayList


      
     1
    import java.util.ArrayList; 2 import java.util.List; 3 import java.util.Scanner; 4 5 public class KTVByArrayList { 6 7 static Scanner scanner = new Scanner(System.in); 8 9 public static void main(String[] args) { 10 System.out.println("0.添加歌曲 1.置顶歌曲 2.前移歌曲 3.删除歌曲 4.退出系统"); 11 // 类型 变量 = new 实现类(); 12 List list = new ArrayList(); 13 14 initMusicList(list); 15 16 while (true){ 17 System.out.println("请输入要操作的命令:"); 18 //command 就是你要输入的数字 19 int command = scanner.nextInt(); 20 switch (command){ 21 case 0: 22 addMusic(list); 23 break; 24 case 1: 25 topMusic(list); 26 break; 27 case 2: 28 beforeMusic(list); 29 break; 30 case 3: 31 deleteMusic(list); 32 break; 33 case 4: 34 exitSystem(); 35 break; 36 } 37 System.out.println("歌曲表单:" + list); 38 } 39 40 41 42 } 43 44 /** 45 * 添加方法 46 */ 47 private static void addMusic(List list) { 48 System.out.println("请输入需要添加歌曲的名称:"); 49 String musicName = scanner.next(); 50 // String musicName1 = "小草"; 51 list.add(musicName); 52 System.out.println("已添加歌曲:" + musicName); 53 } 54 55 /** 56 * 默认歌曲名单 57 */ 58 private static void initMusicList(List list) { 59 list.add("小草"); 60 list.add("大海"); 61 list.add("一生所爱"); 62 System.out.println("初始化歌曲列表:" + list); 63 } 64 /** 65 * 删除 66 */ 67 private static void deleteMusic(List list) { 68 System.out.println("请输入需要删除歌曲的名称:"); 69 //musicName 是不是 就是 你输入的即将要被删除的歌曲名称 70 String musicName = scanner.next(); 71 // 找到这首歌曲对应的索引 72 int musicLocation = list.indexOf(musicName); 73 // 数组的角标是从0开始,最小的角标就是0 74 // 如果 歌曲角标 小于0 ,表示该数组集合中不存在该元素 75 if (musicLocation < 0){ 76 System.out.println("您输入的歌曲不存在,请查正!"); 77 }else{ 78 // 存在 0 或者 大于0 79 System.out.println("已删除歌曲是:" + list.get(musicLocation)); 80 list.remove(musicLocation); 81 } 82 } 83 84 /** 85 * 前移 86 */ 87 private static void beforeMusic(List list) { 88 System.out.println("请输入需要前移歌曲的名称:"); 89 //musicName 是不是 就是 你输入的即将要被 前移的歌曲名称 90 String musicName = scanner.next(); 91 // 找到这首歌曲对应的索引 92 int musicLocation = list.indexOf(musicName); 93 94 if (musicLocation < 0){ 95 System.out.println("您输入的歌曲不存在,请查正!"); 96 }else{ 97 // 思路: 1 先删除 2. 在前一位上添加 98 list.remove(musicLocation); 99 100 list.add(musicLocation-1,musicName); 101 102 System.out.println("已前移歌曲是:" + musicName); 103 } 104 } 105 106 /** 107 * 置顶 108 */ 109 private static void topMusic(List list) { 110 System.out.println("请输入需要置顶歌曲的名称:"); 111 //musicName 是不是 就是 你输入的即将要被 置顶的歌曲名称 112 String musicName = scanner.next(); 113 // 找到这首歌曲对应的索引 114 int musicLocation = list.indexOf(musicName); 115 116 if (musicLocation < 0){ 117 System.out.println("您输入的歌曲不存在,请查正!"); 118 }else if (musicLocation == 0){ 119 System.out.println("您输入的歌曲已经是第一位!"); 120 }else{ 121 // 思路: 1 先删除 2. 在第一位上添加 122 list.remove(musicLocation); 123 124 list.add(0,musicName); 125 126 System.out.println("已置顶歌曲是:" + musicName); 127 } 128 129 } 130 131 /** 132 * 退出 133 */ 134 private static void exitSystem() { 135 System.out.println("您已退出系统"); 136 System.exit(0); 137 } 138 }

    杨校老师上课讲

  • 相关阅读:
    Groovy Simple file download from URL
    Connect to URL and dump webpage in Groovy Stack Overflow
    bash脚本测网络流量
    HTTPBuilder Overview
    nginx设置代理账号密码
    引爆流行
    RRDtool About RRDtool
    老王 python ,
    Ubuntu下安装GeoIP
    实时查看网络的流量
  • 原文地址:https://www.cnblogs.com/wangjixue/p/11833873.html
Copyright © 2020-2023  润新知