有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在switch语句中使用ArrayList类

我试图使用一个类来表示输入到数组列表中的数据。输入的数据包含一个字符串E30,另一个字符串1985,然后是swithc语句中包含的一个变量ratingE30

我无法让全班同学使用arraylist。如果我让字符串没有引号,我会得到一个无法解决的符号错误,但它也不起作用,因为它说字符串与我的类数据不兼容

任何帮助都将不胜感激

ArrayList位于公共静态void main中(字符串[]args):

ArrayList<Data> arrayListToFile = new ArrayList<Data>();
arrayListToFile.add(new Data[]{"E30",1985,ratingE30});

位于Main中的ArrayList的数据类:

private static class Data{
    String Model;
    String ModelYear;

    Data(String Model,String ModelYear){
        this.Model=Model;
        this.ModelYear=ModelYear;

    }
}

共 (2) 个答案

  1. # 1 楼答案

    我想你想要

    arrayListToFile.add(new Data("E30",1985,ratingE30));
    

    尽管只有在Data类中添加适当的构造函数时,这才有效

  2. # 2 楼答案

    首先,你说你试图用这个类来表示数据,它有两个字段,评级字段在哪里(或者你想用Rating30做什么?)? 也许你想要的是这样的

    private static class Data{
        String model; 
        String modelYear;
        String rating; // I declared it as String because i have no idea what it contains
    
        Data(String model, String modelYear, String rating){
            this.model = model;
            this.modelYear = modelYear;
            this.rating = rating;
    
        }
    }
    

    第二,如果你想有一个数据对象列表,你应该把数据对象添加到你的列表中! 例如(使用上面的扩展类):

    ArrayList<Data> arrayListToFile = new ArrayList<Data>();
    arrayListToFile.add(new Data("E30", "1985", ratingE30);
    

    看看你的代码,我不确定你想要Data[]数组做什么,但是你初始化它的方式也是错误的,Data[]数组就像ArrayList一样需要数据对象,但是你传递的只是一个字符串,一个int,我不确定最后一个

    new Data[] {new Data("E30", "1985", ratingE30)};
    

    如果你不确定objects/arrays如何工作,请阅读更多有关它们的信息