Java 如何使用println按单位打印同一列中的数字列表?
我承认这是一个愚蠢的问题,但这只是我大型计算项目中的一小部分,我无法解决。要分解它,我想在新行上打印数组值 为了美观,我需要将我的价值单位放在同一列中。。。因此,当我编写代码时,会出现以下情况: 一, 二, 三, 十, 111 0 我的代码:Java 如何使用println按单位打印同一列中的数字列表?,java,arrays,Java,Arrays,我承认这是一个愚蠢的问题,但这只是我大型计算项目中的一小部分,我无法解决。要分解它,我想在新行上打印数组值 为了美观,我需要将我的价值单位放在同一列中。。。因此,当我编写代码时,会出现以下情况: 一, 二, 三, 十, 111 0 我的代码: public void display() { int j; System.out.println(name); for (j = 0; j < treesOfForest.leng
public void display() {
int j;
System.out.println(name);
for (j = 0; j < treesOfForest.length; j++) {
if (treesOfForest[j] != null) {
System.out.print(" ");
System.out.printf("%d",(j+1));
System.out.println( " : " + treesOfForest[j]);
}
}
}
public void display(){
int j;
System.out.println(名称);
对于(j=0;j
我的预期产出:
如果您只想获得间距,一个选项是使用
String#format
:
int[] treesOfForest = new int[] {1, 2, 3, 10, 111, 0};
for (int j=0; j < treesOfForest.length; j++) {
System.out.println(String.format("%3d", treesOfForest[j]));
}
1
2
3
10
111
0
int[]treesoforest=newint[]{1,2,3,10,111,0};
对于(int j=0;j
如果您只想获得间距,一个选项是使用String#format
:
int[] treesOfForest = new int[] {1, 2, 3, 10, 111, 0};
for (int j=0; j < treesOfForest.length; j++) {
System.out.println(String.format("%3d", treesOfForest[j]));
}
1
2
3
10
111
0
int[]treesoforest=newint[]{1,2,3,10,111,0};
对于(int j=0;j
获取数组中最长字符串的大小maxLength
,或者您可以假设所有字符串的长度都不会超过给定的数字:
int maxLength=100//例如
然后使用它像这样打印:System.out.printf(“%”+maxLength+“s%n”,treesOfForest[j])代码>
public void display(){
int j;
int maxLength=100;//
System.out.println(名称);
对于(j=0;j
获取数组中最长字符串的大小maxLength
,或者您可以假设所有字符串的长度都不会超过给定的数字:
int maxLength=100//例如
然后使用它像这样打印:System.out.printf(“%”+maxLength+“s%n”,treesOfForest[j])代码>
public void display(){
int j;
int maxLength=100;//
System.out.println(名称);
对于(j=0;j
您需要像以前一样使用printf
,但是,您需要包含最小宽度。在printf
中,如果给定“%3d”,则说明任何插值数字的最小宽度应为3列。也就是说,如果小于3位,则将用空格填充。你也可以改变这种行为。例如,“%03d”,这将用0代替空格离开焊盘
主类{
公共静态void main(字符串[]args){
int[]树支架={10,5,7,9111};
int j;
对于(j=0;j
TL;DR useSystem.out.printf(“%d”,numberToPrint)代码>确保最小宽度大于或等于任何数字中的最大数字
有关printf
的更多信息,您需要像以前一样使用printf
,但是,您需要包括最小宽度。在printf
中,如果给定“%3d”,则说明任何插值数字的最小宽度应为3列。也就是说,如果小于3位,则将用空格填充。你也可以改变这种行为。例如,“%03d”,这将用0代替空格离开焊盘
主类{
公共静态void main(字符串[]args){
int[]树支架={10,5,7,9111};
int j;
对于(j=0;j
TL;DR useSystem.out.printf(“%d”,numberToPrint)代码>确保最小宽度大于或等于任何数字中的最大数字
有关printf
的详细信息,可以使用字符串解决此问题
public class Main {
public static void main(String[] args) {
printList();
}
public static void printList() {
int maxLen = 0;
int arr[]={1, 2, 3, 10, 111, 0};
for (int i=0 ; i<arr.length; i++) {
int len = String.valueOf(arr[i]).length();
if (maxLen < len) {
maxLen = len;
}
}
for (int i=0 ; i<arr.length; i++) {
int len = String.valueOf(arr[i]).length();
int offset = maxLen - len;
String spaces = "";
for (int j=0; j<offset; j++) {
spaces += " ";
}
System.out.println(spaces + arr[i]);
}
}
}
公共类主{
公共静态void main(字符串[]args){
打印列表();
}
公共静态void打印列表(){
int maxLen=0;
int arr[]={1,2,3,10,111,0};
对于(int i=0;i您可以使用字符串来解决此问题
public class Main {
public static void main(String[] args) {
printList();
}
public static void printList() {
int maxLen = 0;
int arr[]={1, 2, 3, 10, 111, 0};
for (int i=0 ; i<arr.length; i++) {
int len = String.valueOf(arr[i]).length();
if (maxLen < len) {
maxLen = len;
}
}
for (int i=0 ; i<arr.length; i++) {
int len = String.valueOf(arr[i]).length();
int offset = maxLen - len;
String spaces = "";
for (int j=0; j<offset; j++) {
spaces += " ";
}
System.out.println(spaces + arr[i]);
}
}
}
公共类主{
公共静态void main(字符串[]args){
打印列表();
}
公共静态void打印列表(){
int maxLen=0;
int arr[]={1,2,3,10,111,0};
对于(int i=0;i