「java控制输出格式」java格式化输出的相关语法
今天给各位分享java控制输出格式的知识,其中也会对java格式化输出的相关语法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
Java中如何控制右对齐输出?
%4.xx 使输出右对齐,不足4位用空格;
%-10s 使字符串左对齐输出,不足10位,后加空格;
%10s 使字符串右对齐输出,不足10位,前加空格。
输出的对齐格式:
printf("%4.d\n",1);
printf("%4.d\n%4.d\n%4.d\n",3,12,1123);
printf("%-10s%d\n",s,12);
%4.xx 使输出右对齐;不足4位用空格;
%.4xx 使小数保留4位小数,若该数为整形,不足四位前填0;多余4位原样输出;
%-4.xx 使输出的数左对齐;
%-10s 使字符串左对齐输出,不足10位,后加空格;
%10s 使字符串右对齐输出,不足10位,前加空格;
%10.s 不输出字符,只输出10位空格;
%.10s 字符原样输出;
举例:
#includestdio.h
int main()
{
printf("%4.d%4.d%4.d\n",1,34,12344);
printf("%4.d\n%4.d\n%4.d\n",3,12,11123); //右对齐;不足四位,前加空格;
printf("%.4d\n%.4d\n%.4f\n%.4f\n",23,2342,2.3,343.32); //对小数,保留四位小数;对整数,不足四位,前加零;
printf("%-4.d%-4d\n",1,23423); //左对齐;不足四位,后加空格;
printf("%-10s%-10s\n","asdsd","asdsfdgfhgh"); //不足十位,后加空格;
printf("%10s%10s\n","sdsfsf","sdsfdsgsgf"); //不足十位,前加空格;
printf("%10.sq\n","asdaff"); //输出十个空格;
printf("%.10s%.10s\n","asdad","sdsfdsgfgg"); //字符串原样输出;
}
令人伤透脑筋的java 输出控制符到底怎么用
格式控制符:
%---格式说明引导符。
----指定左对齐输出。
0---指定空位填零。
m.n --- 指定输出域宽度及精度。
l.h---输出长度的修正。
格式字符:
%i---输出一个整型数;
%d---输出一个整型数;
%f---输出一个浮点数;
%e---输出一个浮点数,科学计数法;
%g---输出一个浮点数,当指数小于-4或者大于5,则运用科学计数法,否则正常显示浮点数;
%c---输出一个字符;
%o---输出一个八进制的整型数,前面不带0;
%#o---输出一个八进制的整型数,前面带0;
%x---输出一个十六进制的整型数,前面不带0x;
%#x---输出一个十六进制的整型数,前面带0x, 如果x大写,则显示的时候也是大写。
%u---不带符号的十进制整数。
%%---输出一个%.
转义字符:
\a:蜂鸣,响铃
\b:回退:向后退一格
\f:换页
\n:换行,光标到下行行首
\r:回车,光标到本行行首
\t:水平制表
\v:垂直制表
\:反斜杠
\':单引号
\":双引号
\?:问号
\ddd:三位八进制
\xhh:二位十六进制
\0:空字符(NULL),什么都不做
printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
java如何控制数据的输出格式。
使用 System.out.printf(); 方法控制数据的输出格式
如:
double number = 234.234 ;
System.out.printf(“%6.2f” , number);
程序运行结果 : 234.23
java输出格式控制的问题
package domain;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class Test1 {
public Test1() {
ListStudents stuList = new ArrayListStudents();
Students students = new Students();
students.setShowname("姓名");
students.setShownumber("学号");
students.setShowsex("性别");
students.setShowcollege("学院");
students.setShowbirthday("生日");
stuList.add(students);
students = new Students();
students.setShowname("fangfang");
students.setShownumber("2008020308");
students.setShowsex("female");
students.setShowcollege("小北");
students.setShowbirthday("2008-08-08");
stuList.add(students);
ListInteger cellLength = doGetCellWidth(stuList);
doPrintInfo(cellLength, stuList);
}
private ListInteger doGetCellWidth(ListStudents stuList) {
//列长度
int nameLong = 0;
ListInteger cellLength = new ArrayListInteger();
for (int i = 0; i 5; i++) {
nameLong = 0;
for (Students students : stuList) {
switch (i) {
case 0:
if (students.getShowname().length() nameLong) {
nameLong = students.getShowname().length();
}
break;
case 1:
if (students.getShownumber().length() nameLong) {
nameLong = students.getShownumber().length();
}
break;
case 2:
if (students.getShowsex().length() nameLong) {
nameLong = students.getShowsex().length();
}
break;
case 3:
if (students.getShowcollege().length() nameLong) {
nameLong = students.getShowcollege().length();
}
break;
case 4:
if (students.getShowbirthday().length() nameLong) {
nameLong = students.getShowbirthday().length();
}
break;
default:
break;
}
}
//列最长长度间隔2
cellLength.add(nameLong+2);
}
return cellLength;
}
private void doPrintInfo(ListInteger cellLength, ListStudents stuList) {
for (Students stu : stuList) {
doPrint(cellLength.get(0), stu.getShowname(), false);
doPrint(cellLength.get(1), stu.getShownumber(), false);
doPrint(cellLength.get(2), stu.getShowsex(), false);
doPrint(cellLength.get(3), stu.getShowcollege(), false);
doPrint(cellLength.get(4), stu.getShowbirthday(), true);
}
}
private void doPrint(int width, String name, boolean nextRow) {
String str = "";
try {
name = new String(name.getBytes("gbk"), "iso-8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
int nameLength = width - name.length();
if (nameLength 0) {
for (int i = 0; i nameLength; i++) {
str += "#";
}
}
try {
if (nextRow) {
System.out.println(new String(name.getBytes("iso-8859-1"), "gbk")+str.replace("#", " "));
} else {
System.out.print(new String(name.getBytes("iso-8859-1"), "gbk")+str.replace("#", " "));
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new Test1();
}
}
最后说明一下,java后台输出的话,汉字后面的空格会变短。
关于java控制输出格式和java格式化输出的相关语法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-25,除非注明,否则均为
原创文章,转载请注明出处。