Я пытался искать учебники и видео, и я понимаю, что делает реализация, хотя я немного запутался в том, как можно реализовать класс из библиотеки Java. В моей домашней работе я предполагаю использовать класс DataSet и сделать так, чтобы он принимал сопоставимые объекты. Предполагается, что программа записывает значения 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);
}
}
Я не был уверен, какой из двух классов подойдет для реализации. Хотя я думаю, что приведенный ниже класс String не будет работать вообще, потому что это уже стандартный класс, поэтому я не слишком уверен в его использовании
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());
}
}