java - 如何在 Java 中连接换行符?
问题描述
我有一个非常奇怪的问题。假设我正在实现一个对象,该对象具有一个toString()
方法,该方法返回一个以正方形格式化的单个字符串,如下所示:
010203
040506
070809
现在,显然整个字符串,当按字符列出时(不包括终止\0
),是这样的:
010203\n040506\n070809\n
我将如何连接像这样的整个方块?例如,如果我想拥有:
010203 101112 010203101112
040506 + 131415 = 040506131415
070809 161718 070809161718
我怎么能这样做?请注意,我不能导入Java.util
或任何其他类。
编辑:上面的例子只是一个例子;理想情况下,我希望解决方案可以扩展到任意数量的“正方形对象”,我可以调用一个假设的aSquareObject.squareConcat(otherSquareObject).squareConcat(anotherSquareObject).....squareConcat(finalSquareObject)
方法,它会并排吐出两个、三个、五个、十五个正方形。
解决方案
public class T27Concat {
public static void main(String[] args) {
String s1 = "010203\n040506\n070809";
String s2 = "101112\n131415\n161718";
String plus = " \n + \n ";
String equals = " \n = \n ";
System.out.println(concat(concat(concat(concat(s1, plus), s2), equals), concat(s1, s2)));
}
public static String concat(String s, String t) {
String[] ss = s.split("\n");
String[] tt = t.split("\n");
String result = "";
for (int i = 0; i < ss.length; i++) {
result += ss[i] + tt[i] + "\n";
}
return result.substring(0, result.length() - 1);
}
}
推荐阅读
- c# - 如何在模型中添加属性而不先将其添加到 ASP .NET MVC 代码中的表单视图中?
- c++ - 如何在给定 std::variant 的情况下检索模板参数包?
- java - 延迟新线程上的方法
- c++ - 对多个字段的元素进行排序
- memory - 更简单的 CUDA 简介 - 内存初始化后不打印
- python - 如何在python中反转一系列列表?
- caching - 直接 DMA 到用户内存时刷新缓存
- hyperledger-iroha - CLI 模式下的 Hyperledger IROHA get_acc_ast_tx 不起作用
- python - 根据 dynamo db 表中的条件进行查询
- c# - 在asp.net中导出到excel后如何防止文本框中的新行与新行分开?