i';我在java代码中找不到这个问题

i';我在java代码中找不到这个问题,java,arraylist,java.util.scanner,Java,Arraylist,Java.util.scanner,我正在尝试自己学习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");

我正在尝试自己学习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);
    }
}
import java.util.ArrayList;
导入java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
ArrayList cars=新的ArrayList();
添加(“沃尔沃”);
加上(“宝马”);
汽车。添加(“福特”);
添加(“马自达”);
系统输出打印(cars);
汽车。套装(2,“Maruthi”);
系统输出打印(cars);
System.out.println(cars.size());
对于(int i=0;i

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

首先,数组列表参数必须是字符串而不是字符串,然后在第二个for循环中,将变量从j切换到i,因为循环变量只能从循环内访问。如果从控制台获得输入,您的扫描仪也会接收参数

Scanner input = new Scanner(System.in);

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

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);
    }
}
import java.util.ArrayList;
导入java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
ArrayList cars=新的ArrayList();
添加(“沃尔沃”);
加上(“宝马”);
汽车。添加(“福特”);
添加(“马自达”);
系统输出打印(cars);
汽车。套装(2,“Maruthi”);
系统输出打印(cars);
System.out.println(cars.size());
对于(int i=0;i
“上面的代码给了我这个错误”-什么错误?如果出现编译错误,应将其添加到问题中。如果在运行时出现异常,则应添加异常消息,并尽可能添加其stacktrace。您尚未给出错误,但此
ArrayList
可疑。那是打字错误吗?因为它应该是
String
你的循环看起来也很可疑,例如-
对于(int j=0;j<5;i++){
来说,
i++
应该是
j++
cars.set(i,input.nextLine());
应该是
names.add(input.nextLine());
(因为您不使用
汽车
-打印
名称
,变量是
j
而不是
i
,并且您正在添加到一个新的
列表
)。除了代码中的其他错误外,您无法在ArrayList中设置超出ArrayList当前大小的条目。我也已更改“扫描仪输入=新扫描仪()”到“扫描仪输入=新扫描仪(system.in)”。非常感谢