我有一个构造函数,它应该以一个字符串为例,一个地址并用“|”分割[关闭]

Posted

技术标签:

【中文标题】我有一个构造函数,它应该以一个字符串为例,一个地址并用“|”分割[关闭]【英文标题】:I have a constructor that should take a String for example an address and split by " | " [closed] 【发布时间】:2020-06-24 06:08:08 【问题描述】:

到目前为止,这是我的代码。这就是我用“|”分解字符串的方式。现在我想知道如何存储每个部分。

public class Address 
private String lines;

public Address(String lines)

    this.lines = lines;
    String[] arrOfStr = this.lines.split("|");

此构造函数应接受由“|”分隔的部分地址 然后,构造函数需要将字符串分成几部分,然后存储每个部分 第1部分|第2部分|第3部分

【问题讨论】:

您有问题吗?如果是这样,请坚持并相应地更改标题。 这里到底有什么问题?存储数组本身与您使用lines 所做的类似。如果部件应该具有命名变量,则创建这些变量并分配相应的数组元素。 您已经将这些值作为 arrOfStr[0],arrOfStr[1] 尝试打印或设置为变量。 请记住,.split 采用正则表达式| 字符是正则表达式语法的一部分。替换为 \\| 以便将其转义并视为文字 | 字符。 可能是 Splitting a Java String by the pipe symbol using split(“|”) 和 Splitting string with pipe character (“|”) 的重复项,但很难说你在这里问的是什么。 【参考方案1】:

首先您需要使用\\| 进行拆分 然后你需要将结果存储在一个字段中

// field

String[] arrOfStr

public Address(String lines)

    this.lines = lines;
    arrOfStr = this.lines.split("\\|");

【讨论】:

问题,我将如何存储每个拆分的部分? 什么意思,它被存储在arrOfStr - 你需要知道如何访问数组的每个元素?【参考方案2】:
public class Address 
    private String parts[];

    public Address(String lines) 
        parts = lines.split("\\|");
    

    public void printAddress() 
        for (String p : parts) 
            System.out.println(p);
        
    

    public static void main(String[] args) 
        Address address = new Address("House No. 1|Main Street|City|Country");
        address.printAddress();
    

【讨论】:

以上是关于我有一个构造函数,它应该以一个字符串为例,一个地址并用“|”分割[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在类构造函数中拆分字符串

以一个临时的地址,扭曲

浅谈类的几个基础构造函数

Symfony 4:如何将$ _SERVER数组作为构造函数参数传递

JUnit 测试异常 [重复]

如何使用 swig 修改类构造函数以保持对构造函数参数之一的引用?