Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中连接换行符?_Java_String_Newline - Fatal编程技术网

如何在Java中连接换行符?

如何在Java中连接换行符?,java,string,newline,Java,String,Newline,我有一个很奇怪的问题。假设我正在实现一个对象,该对象具有一个toString()方法,该方法返回一个正方形格式的字符串,如下所示: 010203 040506 070809 现在,很明显,按字符列出的整个字符串(不包括终止的\0)如下所示: 010203\n040506\n070809\n 我该如何连接像这样的整个方形块?例如,如果我想要: 010203 101112 010203101112 040506 + 131415 = 040506131415 070809

我有一个很奇怪的问题。假设我正在实现一个对象,该对象具有一个
toString()
方法,该方法返回一个正方形格式的字符串,如下所示:

010203
040506
070809
现在,很明显,按字符列出的整个字符串(不包括终止的
\0
)如下所示:

010203\n040506\n070809\n
我该如何连接像这样的整个方形块?例如,如果我想要:

010203     101112    010203101112
040506  +  131415 =  040506131415
070809     161718    070809161718
我怎么能这样做?请注意,我无法导入
Java.util
或任何其他类

编辑: 上面的例子仅仅是一个例子;理想情况下,我希望该解决方案能够扩展到任意数量的“方形对象”,在这里,我可以将一个假设的
调用为quareObject.squareConcat(其他squareObject).squareConcat(另一个squareObject)

公共类T27Concat{
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);
}

}
公共静态void main(字符串[]args){ 字符串s1=“010203\n040506\n070809”; 字符串s2=“101112\n131415\n161718”; 字符串plus=“\n+\n”; String equals=“\n=\n”; 系统输出println(concat(concat(concat(concat(s1,plus),s2),等于),concat(s1,s2)); } 公共静态字符串concat(字符串s、字符串t){ 字符串[]ss=s.split(“\n”); 字符串[]tt=t.split(“\n”); 字符串结果=”; 对于(int i=0;i
公共类多重标准{
公共静态void main(字符串[]args){
字符串str1=“010203\n040506\n070809\n”;
字符串str2=“010203\n040506\n070809\n”;
字符串ttl=“”;

对于(int i=0;i我试图在纸上解决这个问题,并得出了与@mayamar的类似的解决方案:

 public String sqConcat(String string1, String string2)
 {
    String[] rows1 = string1.split("\n");
    String[] rows2 = string2.split("\n");

    return new String(rows1[0] + rows2[0] + "\n"
                    + rows1[1] + rows2[1] + "\n"
                    + rows1[2] + rows2[2] + "\n");
 }

谢谢大家的帮助。

你们已经试过什么了吗?
 public String sqConcat(String string1, String string2)
 {
    String[] rows1 = string1.split("\n");
    String[] rows2 = string2.split("\n");

    return new String(rows1[0] + rows2[0] + "\n"
                    + rows1[1] + rows2[1] + "\n"
                    + rows1[2] + rows2[2] + "\n");
 }