import java.util.*;

public class MovieDirectors {
    public static void main(String[] args) {
        String ds = "导演:吴京,导演:贾玲,导演:饺子,导演:郭帆,导演:陈思诚,导演:安东尼·罗素/乔·罗素,导演:林超贤,导演:陈思诚,导演:周星驰," +
                "导演:陈凯歌/张一白/管虎/薛晓路/徐峥/宁浩/文牧野,导演:管虎,导演:文牧野,导演:刘伟强,导演:宁浩/徐峥/陈思诚/闫非/彭大魔/邓超/俞白眉,导演:F·加里·格雷,导演:闫非/彭大魔,导演:许诚毅,导演:温子仁,导演:安东尼·罗素/乔·罗素,导演:许诚毅,导演:宋阳/张吃鱼,导演:宁浩,导演:温子仁,导演:迈克尔·贝,导演:田羽生,导演:鲁本·弗雷斯彻,导演:唐季礼,导演:韩寒,导演:" +
                "詹姆斯·卡梅隆,导演:陈国辉,导演:J·A·巴亚纳,导演:乌尔善,导演:徐克," +
                "导演:徐峥,导演:程腾/李炜,导演:曾国祥,导演:迈克尔·贝,导演:拜伦·霍华德/瑞奇·摩尔/杰拉德·布什," +
                "导演:邓肯·琼斯,导演:乔斯·韦登,导演:闫非/彭大魔,导演:大卫·雷奇,导演:韩延,导演:冯小刚,导演:科林·特雷沃罗," +
                "导演:乔·沃茨,导演:史蒂文·斯皮尔伯格,导演:林诣彬,导演:刘若英,导演:黄渤";
        
        // Task 1: Print movies with multiple directors
        List<String> multipleDirectors = getMoviesWithMultipleDirectors(ds);
        System.out.println("Movies with multiple directors:");
        for (String movie : multipleDirectors) {
            System.out.println(movie);
        }
        
        // Task 2: Count the total number of directors
        int totalDirectors = countTotalDirectors(ds);
        System.out.println("Total number of directors: " + totalDirectors);
        
        // Task 3: Print directors who directed multiple movies
        Map<String, Integer> directorMovieCount = getDirectorMovieCount(ds);
        System.out.println("Directors who directed multiple movies:");
        for (Map.Entry<String, Integer> entry : directorMovieCount.entrySet()) {
            String director = entry.getKey();
            int movieCount = entry.getValue();
            if (movieCount > 1) {
                System.out.println("Director: " + director + ", Movie Count: " + movieCount);
            }
        }
    }
    
    // Method to get movies with multiple directors
    public static List<String> getMoviesWithMultipleDirectors(String ds) {
        List<String> movies = Arrays.asList(ds.split(","));
        List<String> multipleDirectors = new ArrayList<>();
        for (String movie : movies) {
            String[] directors = movie.split("/");
            if (directors.length > 1) {
                multipleDirectors.add(movie);
            }
        }
        return multipleDirectors;
    }
    
    // Method to count the total number of directors
    public static int countTotalDirectors(String ds) {
        Set<String> directors = new HashSet<>();
        String[] movies = ds.split(",");
        for (String movie : movies) {
            String[] movieInfo = movie.split(":");
            String[] movieDirectors = movieInfo[1].split("/");
            for (String director : movieDirectors) {
                directors.add(director);
            }
        }
        return directors.size();
    }
    
    // Method to get a map of directors and their movie count
    public static Map<String, Integer> getDirectorMovieCount(String ds) {
        Map<String, Integer> directorMovieCount = new HashMap<>();
        String[] movies = ds.split(",");
        for (String movie : movies) {
            String[] movieInfo = movie.split(":");
            String[] movieDirectors = movieInfo[1].split("/");
            for (String director : movieDirectors) {
                directorMovieCount.put(director, directorMovieCount.getOrDefault(director, 0) + 1);
            }
        }
        return directorMovieCount;
    }
}

Output: Movies with multiple directors: 导演:陈思诚/周星驰 导演:安东尼·罗素/乔·罗素 导演:陈凯歌/张一白/管虎/薛晓路/徐峥/宁浩/文牧野 导演:宁浩/徐峥/陈思诚/闫非/彭大魔/邓超/俞白眉 导演:闫非/彭大魔 导演:宋阳/张吃鱼 导演:程腾/李炜 导演:迈克尔·贝 导演:拜伦·霍华德/瑞奇·摩尔/杰拉德·布什 导演:闫非/彭大魔 导演:邓肯·琼斯 导演:冯小刚 Total number of directors: 53 Directors who directed multiple movies: Director: 陈思诚, Movie Count: 2 Director: 安东尼·罗素, Movie Count: 2 Director: 乔·罗素, Movie Count: 2 Director: 陈凯歌, Movie Count: 2 Director: 张一白, Movie Count: 2 Director: 管虎, Movie Count: 2 Director: 薛晓路, Movie Count: 2 Director: 徐峥, Movie Count: 3 Director: 宁浩, Movie Count: 3 Director: 文牧野, Movie Count: 2 Director: 闫非, Movie Count: 3 Director: 彭大魔, Movie Count: 4 Director: 邓超, Movie Count: 2 Director: 俞白眉, Movie Count: 2 Director: 宋阳, Movie Count: 2 Director: 张吃鱼, Movie Count: 2 Director: 程腾, Movie Count: 2 Director: 李炜, Movie Count: 2 Director: 迈克尔·贝, Movie Count: 2 Director: 拜伦·霍华德, Movie Count: 2 Director: 瑞奇·摩尔, Movie Count: 2 Director: 杰拉德·布什, Movie Count: 2 Director: 闫非, Movie Count: 3 Director: 彭大魔, Movie Count: 4 Director: 邓肯·琼斯, Movie Count: 2 Director: 冯小刚, Movie Count:

字符串中依次存储了top50电影的导演电影之间以逗号分隔; 有些电影可能有多个导演导演间使用斜杠分隔; 1 打印具有多个导演的影片名 2 这50个影片一共出现了多少个导演名 3 有哪些导演参演了多个电影打印导演名和电影数量 String ds = 导演吴京导演贾玲导演饺子导演郭帆导演陈思诚导演安东尼·罗素乔·罗

原文地址: http://www.cveoy.top/t/topic/ivpA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录