Недопустимый модификатор, разрешен только финал?
Поэтому я пытаюсь создать частный статический метод, который будет печатать содержимое массива с данными из текстового файла.
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class hw2redo
{
public static void main(String args[])
{
//Scan file for data
GeometricObject g = null;
BufferedReader file = new BufferedReader(new FileReader("file.txt"));
Scanner diskScanner = new Scanner(file);
//Create dynamic array list
List<GeometricObject> list = new ArrayList<GeometricObject>();
//Scan data and add data to list
while(diskScanner.hasNext())
{
String geolist = diskScanner.nextLine();
g = recreateObject(geolist);
list.add(g);
}
private static GeometricObject recreateObject(String data)
{
System.out.println(data);
}
}
}
Тем не менее я получаю сообщение об ошибке моего метода refreshateObject, в котором говорится, что "метод refreshateObject(String) не определен для типа hw2redo". Любая помощь или советы о том, что я делаю неправильно, будет принята с благодарностью. Спасибо! Примечание: я просто добавил что-то произвольное в метод, чтобы увидеть, была ли ошибка, потому что она была пустой. Я просто хочу знать, как вызвать закрытый метод, не получая ошибку.
1 ответ
Решение
Ваш recreateObject
Метод определяется внутри main
метод. Переместите это вне тела main
:
public class hw2redo
{
public static void main(String args[])
{
//Scan file for data
GeometricObject g = null;
BufferedReader file = new BufferedReader(new FileReader("file.txt"));
Scanner diskScanner = new Scanner(file);
//Create dynamic array list
List<GeometricObject> list = new ArrayList<GeometricObject>();
//Scan data and add data to list
while(diskScanner.hasNext())
{
String geolist = diskScanner.nextLine();
g = recreateObject(geolist);
list.add(g);
}
}
private static GeometricObject recreateObject(String data)
{
System.out.println(data);
}
}
(И, очевидно, заставить его вернуть что-то.)