我可以使用Scanner作为方法参数吗?

时间:2017-10-01 13:48:24

标签: java java.util.scanner

我正在按照自己的进度开设课程,这门课程是去年举办的,我不能从那些为了比较的人那里找到关于Git的任何材料,我也不能问别人,所以我我想问你是否知道他们的意思。所以我需要创建不同的类,其中一个是Address,另一个是House。现在,两者都有以下方法:

public static Address read(Scanner sc)
public static House read(Scanner sc)

地址方法的条件是:
:由sc检索的下一行包含地址的文本表示。
发布:将地址的文字表示转换为 地址对象。


我有以下简单的实现:

public static Address read(Scanner input) throws IOException {      
    String street = input.next();
    int number = input.nextInt();
    String zip = input.next();
    String city = input.next();

    Address address = new Address(street,number,zip,city);
    return address;
}

对于House,条件和提示中的相同方法:
:sc检索的下一行包含文本表示 一个房子。
发布:将众议院的文字表示转换为众议院 对象。
提示:在地址中使用read方法。

我不确定如何实现这一点,我相信它很简单。但不知何故,我需要能够通过扫描仪接收整个地址对象?然后将其与其他文本输入一起解析为House对象。 有任何想法吗?提前谢谢。

我看到了THIS帖子,但它并不是我要求的。

  

自我引用:这是魔术(使用">!")

1 个答案:

答案 0 :(得分:0)

public static House read(Scanner sc) throws IOException {
    sc.next(); //load house informations, i don't know how your file looks like

    Scanner addressSc = new Scanner(new File(/* address file path */));
    Address address = Address.read(addressSc);

    House house = new House(address, /* other parameters */);
}

这样的事情可以胜任这项工作。但是,我不知道您的House课程是如何实施的,您的文件是如何组织的,或者您想在哪里创建House实例。