我无法在我的java代码中找到问题[关闭]

问题描述 投票:-1回答:2

我想自学java,下面的代码不能编译。

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        ArrayList<Strings> cars = new ArrayList<String>();
        cars.add("Volvo");
        cars.add("BMW");
        cars.add("Ford");
        cars.add("Mazda");
        System.out.println(cars);
        cars.set(2, "Maruthi");
        System.out.println(cars);
        System.out.println(cars.size());
        for (int i = 0; i < cars.size(); i++) {
            System.out.print(cars.get(i));
        }

        System.out.print("Names: ");
        ArrayList<Strings> names = new ArrayList<String>();
        Scanner input = new Scanner();
        for(int j = 0; j < 5; i++){
            cars.set(i,input.nextLine());
        }
        System.out.println(names);
    }
}

上面的代码给了我这个错误.我无法在代码中找到问题所在。

java arraylist java.util.scanner
2个回答
1
投票

首先你的数组列表参数必须是String而不是Strings,然后在你的第二个for循环中,你将变量从j切换到i,for循环变量只能在循环内访问。而且你的扫描器也会摄入一个paremeter,如果从控制台获取输入,那么就做

Scanner input = new Scanner(System.in);

0
投票

这里是可编译的代码。它可以工作,但在执行过程中仍然会抛出一个异常,你需要处理这个异常。

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> cars = new ArrayList<String>();
        cars.add("Volvo");
        cars.add("BMW");
        cars.add("Ford");
        cars.add("Mazda");
        System.out.println(cars);
        cars.set(2, "Maruthi");
        System.out.println(cars);
        System.out.println(cars.size());
        for (int i = 0; i < cars.size(); i++) {
            System.out.print(cars.get(i));
        }

        System.out.print("Names: ");
        ArrayList<String> names = new ArrayList<String>();
        Scanner input = new Scanner(System.in);
        for(int j = 0; j < 5; j++){
            cars.set(j,input.nextLine());
        }
        System.out.println(names);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.