Я попытался найти учебники и видеоролики, и я понимаю, что делает реализация, хотя я немного смущен относительно того, как реализовать класс из библиотеки Java. В моей домашней работе я предполагаю использовать класс DataSet и сделать так, чтобы он принимал объекты Comparable. Программа должна записывать значения Min и Max в зависимости от объектов, в этом случае я предполагаю использовать строки. Я не был уверен, нужны ли мне какие-либо классы для реализации интерфейса Comparable, поэтому я сделал два класса на всякий случай, если я предполагал сделать это. Мой реальный вопрос в том, как я на самом деле задействовать переменную String в классе тестера для фактического чтения и сравнения объекта с другим? заранее спасибо.реализация и интерфейсы
public class Word implements Comparable
{
private String str;
public Word()
{
str = null;
}
public Word(String s)
{
str = s;
}
public int compareTo(Object other)
{
String n = (String) other;
return str.compareTo(n);
}
}
Я не был уверен, какой из этих двух классов будет вполне подходящим вариантом для реализации Хотя я думаю, что класс Строки ниже не будет работать на всех б/с Это уже стандартным классом, так что я не был слишком уверен, используя его
public class String implements Comparable
{
public String s;
public String()
{
s = null;
}
public String(String str)
{
s = str;
}
public int compareTo(Object other)
{
String n = (String) other;
return s.compareTo(n);
}
}
public interface Comparable
{
public int compareTo(Object other);
}
public class DataSet
{
private Object maximum;
private Object least;
private Comparable compare;
private int count;
public DataSet(Comparable s)
{
compare = s;
}
public void add(Object x)
{
if(count == 0)
least = x;
if(count == 0 || compare.compareTo(x) >=0)
maximum = x;
else if(compare.compareTo(x) <0)
least = x;
count++;
}
public Object getMaximum()
{
return maximum;
}
public Object getLeast()
{
return least;
}
}
public class DataSetTester
{
public static void main(String[] args)
{
Comparable n = new Word("sand");
DataSet data = new DataSet(n);
data.add(new Word(man));
System.out.println("Maximum Word: " + data.getMaximum());
System.out.println("Least Word: " + data.getLeast());
}
}
Это помогло но знаете ли вы, как бы добавить объект Comparable в этот класс и получить строку в конце программы? – James
Если вы создаете новый DataSet, все методы, возвращающие тип T, вернут строку. Таким образом, метод add примет параметр String as, и getMaximum() вернет строку. –
nist