Java中两个字符串之间的间距

时间:2014-07-09 06:13:37

标签: java string

我正在网上学习这门课程,我不能真的回去因为我已经完成了23课,我不记得他们中的哪一个告诉我关于在字符串内部的东西

所以基本上就是打印出来了

Joe Bloggs   37
Sarah Smith   20

我希望名称与person1person2的年龄之间有一个空格。

我将如何做到这一点?

我尝试了\n\t,但我的编译器对我大吼大叫。 我仍然是初学者,所以我不明白错误信息的含义。

这是代码:

class Person {

    String name;
    int age;

}


public class Application {

    public static void main(String[] args) {

        Person person1 = new Person();
        person1.name = "Joe Bloggs";
        person1.age = 37;

        Person person2 = new Person();
        person2.name = "Sarah Smith";
        person2.age = 20;

        System.out.println(person1.name + person1.age);
        System.out.println(person2.name + person2.age);

    }

}

4 个答案:

答案 0 :(得分:2)

另一种方法是使用

中的String.format方法
Sytem.out.println (String.format("%s %d", person1.name, person1.age));

答案 1 :(得分:2)

你可以覆盖Person类的toString()方法,如下所示,

@Override 
public String toString() { 
return name + " " +age; 
} 

所以当你在

中打印任何Person对象时
System.out.println(anyPersonObject);

它打印toString()方法的返回值。

答案 2 :(得分:1)

因为person1.name是一个字符串,而person1.age是一个int(我假设),当你打电话时:

System.out.println(person1.name + person2.age);

..实际上你将2个属性连接成一个字符串。

如果两个字段都是int,那么相同的操作将导致添加2个数字,但是在字符串中添加int将导致字符串连接。

要将两者一起添加间距,您可以调用:

System.out.println(person1.name + " " + person2.age);

这将打印person1.name,后跟空格(“”),然后是person2.age。 无论你的内容是什么,都会打印出来,所以你可以打印出一个:或者;例如。

答案 3 :(得分:1)

有格式化String的方法。

    String result1 = String.format("%s %d", person1.name, person1.age);
    System.out.println(result1);//Result - Bloggs 37

    String result2 = String.format("%s is %d old", person1.name, person1.age);
    System.out.println(result2);//Result - Joe Bloggs is 37 old

    String result3 = String.format("%s\t%d", person1.name, person1.age);
    System.out.println(result3);//Result - Joe Bloggs   37

我希望它可以帮到你。

相关问题