Lem*_*301 22 java string formatting class
我是Java的初学者,我正在使用newboston的java教程(youtube).在教程36-37,他开始使用String.format(); 他在过去的教程中没有解释过.这是他正在制作的课程的代码:
public class tuna {
private int hour;
private int minute;
private int second;
public void setTime(int h, int m, int s){
hour = ((h >= 0 && h < 24) ? h : 0);
minute = ((m >= 0 && m < 60) ? m : 0);
second = ((s >= 0 && s < 60) ? s : 0);
}
public String toMilitary(){
return String.format("%02d:%02d:%02d", hour, minute, second);
}
}
Run Code Online (Sandbox Code Playgroud)
所以他正在做的是他正在做一些军事时间类并使用String格式.所以我要问的是,有人可以向我解释String.format()的工作原理以及上面的格式是如何工作的.谢谢您的帮助!
Hir*_*ren 35
它的作用与C的printf()相同.
%s - >字符串
%d - > int
%f - >浮动
先
String.format("%02d", 8)- > OUTPUT:08
08- > OUTPUT:10
String.format("%02d", 10)- > OUTPUT:0010
所以基本上,它将在表达式,变量或基本类型之前填充0的数字作为第二个参数,0将以所有数字满足String API的格式方法的第一个参数的方式填充.
小智 11
它只是需要的变量hour,minute以及second并把它的格式5时23分42秒.也许另一个例子是:
String s = String.format("Hello %s answered your question", "placeofm");
Run Code Online (Sandbox Code Playgroud)
当您打印字符串以在控制台中显示它时,它将如下所示
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
你好placeofm回答了你的问题
占位符%02d是带有两位数的十进制数字.%s在上面的示例中,我的名字就像我的名字一样.如果你想学习Java,你必须阅读文档.这是为了String班级.您可以通过一个很好的解释找到格式方法.阅读这些文档非常重要,即使在Java中也是如此.