ArrayList
был создан из файла, и с этим нет никаких проблем. Это часть моего кода из моего класса Helper
при создании метода для отображения результатов. Я знаю, что не могу использовать .toString () для списка массивов, но я не знаю, как его использовать.
Исходный код:
public static void display(ArrayList<String> shapes) throws FileNotFoundException{
ArrayList<String> list = new ArrayList<String>();
Scanner input = new Scanner(ArrayList.toString(list)); //This is the problem line.
while(input.hasNext()){
String chosenShape = input.nextLine();
switch (chosenShape.toLowerCase())
{
case "rectangle":
Rectangle rectangle = new Rectangle();
rectangle.name = input.nextLine();
rectangle.setWidth(input.nextDouble());
rectangle.setLength(input.nextDouble());
System.out.print(rectangle);
break;
Обновленный код:
public static void display(ArrayList<String> shapes) throws IOException, FileNotFoundException{
java.util.List<String> list = Arrays.asList("rectangle", "circle","triangle");
for(int i = 0; i<list.size(); i++)
switch (list.get(i).toLowerCase())
{
case "rectangle":
Rectangle rectangle = new Rectangle();
rectangle.name = list.get(i+1);
rectangle.setWidth(Double.valueOf(list.get(i+2)));
rectangle.setLength(Double.valueOf(list.get(i+3)));
System.out.print(rectangle);
i = (i+3);
break;
Выданные ошибки: Исключение в потоке «main» java .lang.NumberFormatException: Для входной строки: «треугольник». И когда я вынимаю «треугольник» ... Исключение в потоке «main» java .lang.ArrayIndexOutOfBoundsException: 2