为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用输入来创建对象

如何使用输入来创建对象

叮当猫咪 2023-09-13 10:15:39
我有一个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 52FINISH如何在每次MODEL输入中出现该单词时创建一个新对象,将模型存储在数组中,使用以下单词作为这些字段的数据,并在FINISH输入中结束程序?
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

在 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!

   }    

}


查看完整回答
反对 回复 2023-09-13
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

我会使用该String.split方法。您传递一个分隔符,在您的情况下是一个空格字符,然后该方法根据您提供的分隔符将字符串切成碎片。将输入输入到程序中取决于输入的来源,是通过文件、终端还是其他来源。

读取一行输入后,调用String[] values = line.split(" ")

同样,如何读取输入取决于输入的来源,而您尚未指定。


查看完整回答
反对 回复 2023-09-13
  • 2 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信