「java控制输出格式」java格式化输出的相关语法

博主:adminadmin 2022-12-25 06:03:06 64

今天给各位分享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格式化输出的相关语法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。