如何使用输入来创建对象

我有一个CarModel包含三个字段的类:name、fuelEconomy和gasTankSize。


class CarModel {

    private String name;

    private double fuelEconomy;

    private double gasTankSize;


    CarModel(String name, double fuelEconomy, double gasTankSize) {

        this.name = name;

        this.fuelEconomy = fuelEconomy;

        this.gasTankSize = gasTankSize;

    }


    String getName() {

        return name;

    }


    double getFuelEconomy() {

        return fuelEconomy;

    }


    double getGasTankSize() {

        return gasTankSize;

    }

}

将输入作为由换行符分隔的文本字符串给出:


MODEL Camry 6.5 58 

MODEL Civic 7.5 52

FINISH

如何在每次MODEL输入中出现该单词时创建一个新对象,将模型存储在数组中,使用以下单词作为这些字段的数据,并在FINISH输入中结束程序?


叮当猫咪
浏览 63回答 2
2回答

慕莱坞森

在 main 方法中,尝试执行以下操作(使用try 和 resources):public static void main(String args[]){String line;List<CarModel> cars = new ArrayList<>();  try(Scanner sc = new Scanner(System.in)){     while(sc.hasNextLine()){     line = sc.nextLine();     String[] arr = line.split(" ");     if(arr[0].equalsIgnoreCase("Model")){        cars.add(new CarModel(arr[0], Double.parseDouble(arr[1]), Double.parseDouble(arr[2])));      }else if(arr[0].equalsIgnoreCase("Finish"){        break;      }    }   }catch(ArrayIndexOutOfBoundsException ex){     // do something here!    }catch(Exception ex){     // do something here as well!   }    }

素胚勾勒不出你

我会使用该String.split方法。您传递一个分隔符,在您的情况下是一个空格字符,然后该方法根据您提供的分隔符将字符串切成碎片。将输入输入到程序中取决于输入的来源,是通过文件、终端还是其他来源。读取一行输入后,调用String[] values = line.split(" ")同样,如何读取输入取决于输入的来源,而您尚未指定。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java