Хорошо, ребята, этот код является частью присваивания, которое у меня есть, я должен реализовать метод equals(), чтобы проверить, являются ли две строки равными. Две строки определены как равные, если две конечные точки одинаковы. Однако я не могу проверить это, потому что, когда я запускаю программу as-is здесь, ее пробел, как будто список массивов пуст. Мой вопрос: нужно ли мне менять чтение цикла через файл или мне нужно раскомментировать исходный массив и что-то сделать с ним в отношении массива?Преобразование из массива в массивList
Любая помощь была бы очень признательна!
//Line[] lines;
ArrayList<Line> lines;
Scanner reader;
public MyDrawing()
super();
this.setPreferredSize(new Dimension(500,500));
}
/**
* Reads the file and builds an array of Line objects.
*
* @param fileName The name of the file that contains the lines
* @throws Exception
*/
public void read(File fileName) throws Exception
{
reader = new Scanner(fileName);
//----------------
// Change to Arraylist. Make the name of the arraylist "lines" so that code in paintComponent works.
//---------------------
//Have to read the first number before starting the loop
int numLines = reader.nextInt();
//lines = new Line[numLines];
ArrayList<Line>lines = new ArrayList<Line>();
Здесь я создать экземпляр ArrayList
//This loop adds a new Line object to the lines array for every line in the file read.
while(reader.hasNext()) {
for(int i = 0; i < numLines; i++) {
int x = reader.nextInt();
int y = reader.nextInt();
Point beg = new Point(x,y);
x = reader.nextInt();
y = reader.nextInt();
Point end = new Point(x,y);
String color = reader.next();
Line l = new Line(beg, end, color);
//----------------
// Change to make sure that you only add lines that don't already exist.
//--------------------
lines.add(l);
//lines[i] = l;
и здесь я попытался добавить строку "л" в список }
}
if(lines != null) {
for(Line l: lines) {
int x1 = l.getBeg().getX();
int y1 = l.getBeg().getY();
int x2 = l.getEnd().getX();
int y2 = l.getEnd().getY();
g.setColor(l.color);
g.drawLine(x1, y1, x2, y2);
System.out.println(l);
}
}
//Print the action to the console
System.out.println("drawing lines");
}
}
Вы получите помощь, если вы включили небольшой пример/только применимые области вашего кода. –
Как вы пробовали отлаживать до сих пор? –
Одна ошибка, которую вы делаете, вы проверяете доступный вход один раз и читаете его 4 раза. –