格式化java字符串以查看特定方式

格式化java字符串以查看特定方式,java,string-formatting,Java,String Formatting,我是Java新手,我有4个int堆栈,需要以特定的方式打印出来。我使用的IDE是BlueJ 我想打印数组,使其看起来像下面这样 |110| |231| |333| |444| |111| |232| |334| |447| |112| |233| |335| |448| |113| |234| |336| |449| |114| |235| |337| |450| |115| |236| |338| |451|

我是Java新手,我有4个int堆栈,需要以特定的方式打印出来。我使用的IDE是BlueJ

我想打印数组,使其看起来像下面这样

 |110|   |231|   |333|   |444|
 |111|   |232|   |334|   |447|
 |112|   |233|   |335|   |448|
 |113|   |234|   |336|   |449|
 |114|   |235|   |337|   |450|
 |115|   |236|   |338|   |451|
我正试图用
System.out.println(“|”+stack1.pop()+“|”)来解决这个问题,但它产生了一个问题,因为我不知道如何从底部返回到顶部。例如,115-->备份到231。每列表示一个堆栈


谢谢大家!

您将无法在控制台中执行此操作:
或者,您可以打印每个堆栈中的值,然后向下移动,如:

System.out.println("|"+stack1.pop()+"|\t|"+stack2.pop()+"|\t|"+stack3.pop()+"|\t|"+stack4.pop()+"|" );
编辑 如注释所示-您可以使用,检查可用的格式选项

使用
String.format()

System.out.println(String.format("|%s|\t|%s|\t|%s|\t|%s|",
                            stack1.pop(),stack2.pop(),stack3.pop(),stack4.pop()));
如果您想以相反的顺序打印
堆栈
元素,只需将堆栈先反向
如何:

    ArrayList<Stack<Integer>> arrays=new ArrayList<Stack<Integer>>();
    arrays.add(stack1);
    arrays.add(stack2);
    arrays.add(stack3);
    arrays.add(stack4);

//Put some code here to  Determine the stack size, if all are unequal in size   
    int size=stack1.size(); 


    for(int i=0;i<size;i++){
        String value="";
        String temp="";
ArrayList数组=新的ArrayList();
数组。添加(stack1);
数组。添加(stack2);
数组。添加(stack3);
数组。添加(stack4);
//如果所有堆栈大小都不相等,请在此处放置一些代码以确定堆栈大小
int size=stack1.size();

对于(inti=0;iWhy the Android tag?这似乎纯粹是Java,特别是因为您使用的是BlueJ和
println()
@A--C,我最终将迁移到Android,所以我的错误是将其包含在其中。我真的不认为值得一次失败。我没有投你一票(因为这是一个小错误)但是,我确实删除了这个标签。“A—C,我的道歉……同时发生的问题在你的问题中是不明确的。例如,考虑第一列/堆栈A <代码> POP())操作将打印“代码> 115 < /代码>或<代码> 110代码>代码,也可以用指定数量的空格来填充每个字符串(而不是使用制表符)。@itech为什么要担心字符串连接,因为在编译过程中,
+
将只被StringBuilder的append()替换这取决于编译器的实现,不需要以最高效的方式完成。此外,使用
String.format
更具可读性,并在格式化输出时给予您更多的控制。你们都是对的:这种方式更好,编译器可能会以任何方式完成…@jahroy我不认为我们即使我们使用了
String.fortmat
,如果我错了,请随便举个例子抱歉…我在发表评论后重新阅读了问题并删除了它。
        for(int j=0;j<4;j++){ 

            //Handle here Empty Stack Exception and print blank
            value="|"+(String)(arrays.get(j)).pop().toString()+"|"+" ";
            temp=temp+value;


        }

        System.out.println(temp);



    }