更改此代码中的评级

时间:2014-02-09 15:12:27

标签: java

在另一个类我使用setRating更改这些歌曲的评级,但是我不确定我需要对此代码做什么才能永久更改评级。提前谢谢。

import java.util.*;

public class LibraryData {

static String playCount() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

static int setRating(int stars) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

private static class Item {

    Item(String n, String a, int r) {
        name = n;
        artist = a;
        rating = r;
    }

    // instance variables 
    private String name;
    private String artist;
    private int rating;
    private int playCount;

    public String toString() {
        return name + " - " + artist;
    }
}

// with a Map you use put to insert a key, value pair 
// and get(key) to retrieve the value associated with a key
// You don't need to understand how this works!
private static Map<String, Item> library = new TreeMap<String, Item>();


static {
    // if you want to have extra library items, put them in here
    // use the same style - keys should be 2 digit Strings
    library.put("01", new Item("How much is that doggy in the window", "Zee-J", 3));
    library.put("02", new Item("Exotic", "Maradonna", 5));
    library.put("03", new Item("I'm dreaming of a white Christmas", "Ludwig van Beethoven", 2));
    library.put("04", new Item("Pastoral Symphony", "Cayley Minnow", 1));
    library.put("05", new Item("Anarchy in the UK", "The Kings Singers", 0));
}

public static String listAll() {
    String output = "";
    Iterator iterator = library.keySet().iterator();
    while (iterator.hasNext()) {
        String key = (String) iterator.next();
        Item item = library.get(key);
        output += key + " " + item.name + " - " + item.artist + "\n";
    }
    return output;
}

public static String getName(String key) {
    Item item = library.get(key);
    if (item == null) {
        return null; // null means no such item
    } else {
        return item.name;
    }
}

public static String getArtist(String key) {
    Item item = library.get(key);
    if (item == null) {
        return null; // null means no such item
    } else {
        return item.artist;
    }
}

public static int getRating(String key) {
    Item item = library.get(key);
    if (item == null) {
        return -1; // negative quantity means no such item
    } else {
        return item.rating;
    }
}

public static void setRating(String key, int rating) {
    Item item = library.get(key);
    if (item != null) {
        item.rating = rating;
    }
}

public static int getPlayCount(String key) {
    Item item = library.get(key);
    if (item == null) {
        return -1; // negative quantity means no such item
    } else {
        return item.playCount;
    }
}

public static void incrementPlayCount(String key) {
    Item item = library.get(key);
    if (item != null) {
        item.playCount += 1;
    }
}

public static void close() {
    // Does nothing for this static version.
    // Write a statement to close the database when you are using one
}

}

1 个答案:

答案 0 :(得分:0)

Inside Item,你应该写这个方法:

public static void setRating(int rating0) {
    rating = rating0;
}

您还应该通过将实例变量称为“public static”而不仅仅是“public”来将实例变量更改为静态变量。