本文目录一览:
- 1、java输出格式控制的问题
- 2、Java中如何控制右对齐输出?
- 3、java如何控制数据的输出格式。
- 4、java怎么格式化输出数字
- 5、Java编程,请问怎么控制浮点数输出格式,好像没办法在输出里直接写
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中控制右对齐输出的方法有以下:
1、你可以把数字转换成字符串,用 String.format("% 4d", number1); 可以补充空格。有个更好的方法用printf();这个给C中的方法差不多,很方便例如这样:System.out.printf("%-10s","abc"); //输出10列,左对齐(-号表示左对齐);System.out.printf("%8d",23); //输出8列, 右对齐。
2、你可以把数字转换成字符串,用 String.format("% 4d", number1); 可以补充空格,这样行
有个更好的方法用printf();这个给C中的方法差不多,很方便例如这样:System.out.printf("%-10s","abc");System.out.printf("%8d",23);System.out.println();System.out.printf("%-10s","ab");System.out.printf("%8d",23); 就可以了,这只是个例子,具体情况怎么实现看你自己。
java如何控制数据的输出格式。
使用 System.out.printf(); 方法控制数据的输出格式
如:
double number = 234.234 ;
System.out.printf(“%6.2f” , number);
程序运行结果 : 234.23
java怎么格式化输出数字
使用System.out.printf(格式化字符串,参数)
int a = 5;
数字的话System.out.printf("%d",a);
//"%"表示进行格式化输出,"%"之后的内容为格式的定义。
System.out.printf("%f",d);//"f"表示格式化输出浮点数。
System.out.println();
System.out.printf("%9.2f",d);//"9.2"中的9表示输出的长度,2表示小数点后的位数。
System.out.println();
System.out.printf("%+9.2f",d);//"+"表示输出的数带正负号。
System.out.println();
System.out.printf("%-9.4f",d);//"-"表示输出的数左对齐(默认为右对齐)。
System.out.println();
System.out.printf("%+-9.3f",d);//"+-"表示输出的数带正负号且左对齐。
System.out.println();
System.out.printf("%d",i);//"d"表示输出十进制整数。
System.out.println();
System.out.printf("%o",i);//"o"表示输出八进制整数。
System.out.println();
System.out.printf("%x",i);//"d"表示输出十六进制整数。
System.out.println();
System.out.printf("%#x",i);//"d"表示输出带有十六进制标志的整数。
System.out.println();
System.out.printf("%s",s);//"d"表示输出字符串。
System.out.println();
System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s",d,i,s);
//可以输出多个变量,注意顺序。
System.out.println();
System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s);
//"X$"表示第几个变量。
Java编程,请问怎么控制浮点数输出格式,好像没办法在输出里直接写
先将浮点数转为字符串,再根据小数点分割成两部分,最后根据两部分的长度来决定前面和后面怎么加0即可。