Java中两个字符串之间的间距
我正在网上学习这门课程,我真的不能回去了,因为我已经完成了23节课,我不记得是哪节课告诉我在一根绳子里间隔一些东西 所以基本上是打印出来的Java中两个字符串之间的间距,java,string,Java,String,我正在网上学习这门课程,我真的不能回去了,因为我已经完成了23节课,我不记得是哪节课告诉我在一根绳子里间隔一些东西 所以基本上是打印出来的 Joe Bloggs 37 Sarah Smith 20 我希望名字和年龄之间有一个空格,分别是person1和person2 我该怎么做呢 我试过\n和\t但我的编译器对我大喊大叫。 我还是个初学者,所以我不明白错误信息的意思 代码如下: class Person { String name; int age; } pub
Joe Bloggs 37
Sarah Smith 20
我希望名字和年龄之间有一个空格,分别是person1
和person2
我该怎么做呢
我试过\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);
}
}
另一种方法是使用
String.format
方法,如中所示
Sytem.out.println (String.format("%s %d", person1.name, person1.age));
因为person1.name是一个字符串,person1.age是一个int(我假设),当您调用:
System.out.println(person1.name + person2.age);
。。实际上,您正在将这两个属性连接到一个字符串中
如果这两个字段都是int,那么相同的操作将导致两个数字相加,但将int添加到字符串将导致字符串串联
若要将两者加在一起并加上间距,可以调用:
System.out.println(person1.name + " " + person2.age);
这将打印person1.name,后跟空格(“”),后跟person2.age。
您的“”中的任何内容都将被打印,因此您可以打印a:或a;例如。您可以覆盖Person类的toString()方法,如下所示
@Override
public String toString() {
return name + " " +age;
}
因此,当您在中打印任何Person对象时
System.out.println(anyPersonObject);
它会打印toString()方法返回值。有办法格式化字符串
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
我希望它能帮助您。System.out.println(person1.name+“”+person1.age);哈哈,我忘了,谢谢你帮我摆脱了迷茫,我只是一时忘了。我还没做完。如果你愿意阅读,你会看到我说我仍然是一个初学者,仍然在课堂上。顺便说一句,感谢你故意不回答我的问题,并发布了一个无用的回复。你可以如下覆盖Person类的toString()方法,@override public String toString(){return name+“”+age;}所以当您在System.out.println(anyPersonObject)中打印任何Person对象时;它打印toString()方法返回值。IMHO重写
toString
是一个坏主意,因为它将您固定在该方法的单一用法中,最好用于显示调试/诊断信息。更好的办法是提供某种格式化程序。只是saying@MadProgrammer同意。但这可能是指导OP打印对象的正确方法,而不是每次仅建议属性之间的空格,如果有多个属性该怎么办。@任务然后提供一个格式化程序。如果您只想在某些时间显示“某些”属性,该怎么办。最佳实践造就完美;)-这只是我的观点,但我非常不喜欢在这个用例中覆盖toString
,这就是我;)@如果有很多属性,那么我会选择格式化程序!!!:)但是仍然toString
是好的(一些副作用)
选项之一。