gpt4 book ai didi

java - JOption对话框如何显示堆栈?

转载 作者:行者123 更新时间:2023-12-02 05:21:30 25 4
gpt4 key购买 nike

好吧,我这个实验室需要的是显示我在 JOptionMessageDialog 框中创建的堆栈,但我不知道如何显示堆栈。我一直显示 @jkh24k54 而不是整数集。??

我的代码:

import java.util.Random;
import javax.swing.JOptionPane;

public class Lab5
{

public static void main(String[] arg)
{

Random rnd = new Random();

Stack<Integer> stack = new IStack<Integer>();
Stack<Integer> stack0= new IStack<Integer>();
Stack<Integer> stack1= new IStack<Integer>();
Stack<Integer> stack2= new IStack<Integer>();
int stream;


for(int i=0;i<20;i++)
{
stream = rnd.nextInt(101);
stack.push(stream);
stack2.push(stream);
}
while( !stack2.isEmpty())
{
int x = stack2.pop();
stack.push(x);
}

for(int i=0; i<20; i++)
{
int x= stack.pop();

if(x%3==0)
stack0.push(x);
if(x%3==1)
stack1.push(x);
if(x%3==2)
stack2.push(x);
}

while( !stack.isEmpty() )
System.out.print(stack.pop()+" ");
System.out.println();
while( !stack0.isEmpty() )
System.out.print(stack0.pop()+" ");
System.out.println();
while( !stack1.isEmpty() )
System.out.print(stack1.pop()+" ");
System.out.println();
while( !stack2.isEmpty() )
System.out.print(stack2.pop()+" ");
System.out.println();

JOptionPane.showMessageDialog(null, "Original stack: "+ stack.toString()+ "\n"+
" 0%3: "+stack0.toString()+"\n"+ "1%3: "+stack1.toString()+"\n"+ " 2%3: "+stack2.toString());

}}

最佳答案

您调用对象的默认 toString() 方法,该方法默认打印其内存位置,这就是您获得 @jkh24k54 的原因。您需要重写堆栈类的 toString() 方法以返回数组中元素的字符串。

示例:将类似的内容添加到您的 Stack 类中。

@Override
public String toString()
{
String returnString = "";
for(int i = 0; i < yourarray.length; i++)
{
if(yourarray[i] != null)
{
returnString += yourarray[i];
}
////if you want to add spaces for null then add this
else
{
returnString += " ";
}
////the else is probably not necessary for what you are doing
}
return returnString;
}

关于java - JOption对话框如何显示堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26472739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com