Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 队列和堆栈_Java - Fatal编程技术网

Java 队列和堆栈

Java 队列和堆栈,java,Java,我在编写一个程序来确定一个字符串是否是回文时遇到了问题,该程序在跳过空白字符和标点符号、忽略大小写差异、将每个字符同时存储在堆栈和队列中时,从用户处获取输入字符串。我已经确定了它是否是回文。我遇到的问题是在队列和堆栈中对其进行排序。以下是我现在拥有的 import java.util.Scanner; public class Pali { static int length; static String st; static ListStack stack = ne

我在编写一个程序来确定一个字符串是否是回文时遇到了问题,该程序在跳过空白字符和标点符号、忽略大小写差异、将每个字符同时存储在堆栈和队列中时,从用户处获取输入字符串。我已经确定了它是否是回文。我遇到的问题是在队列和堆栈中对其进行排序。以下是我现在拥有的

import java.util.Scanner;

public class Pali
{

    static int length;
    static String st;
    static ListStack stack = new ListStack();
    static ListQueue lq = new ListQueue();
    static Scanner input = new Scanner(System.in);


  public static void main (String[] args)
 {
     text();
        String s = null;
     createStack(s);
        String q = null;
     createQueue(q);
  }


    public static void text()
    {

  String st, _n = "y";
  int left, right;
  Scanner scan = new Scanner (System.in);

  while (_n.equalsIgnoreCase("y")) 
  {
     System.out.println ("Enter a potential palindrome:");
     st = scan.nextLine();



     left = 0;
     right = st.length() - 1;

     while (st.charAt(left) == st.charAt(right) && left < right)
     {
        left++;
        right--;
     }

     System.out.println();

     if (left < right)
        System.out.println ("That string is NOT a palindrome.");
     else
        System.out.println ("That string IS a palindrome.");

     System.out.println();
     System.out.print ("Test another palindrome (y/n)? ");
     _n = scan.nextLine();
    }

    }
    public static void createStack(String s)
    {
        for (int i = 0; i < s.length(); i++)
        {
            stack.push(s.charAt(i));

    }

    }
    public static void createQueue(String q)
    {
        for (int i = 0; i < q.length(); i++)
        {
            lq.enqueue(q.charAt(i));
        }
     }

    public static void palindrome(ListQueue l, ListStack m)
    {
       for(int i = 0; i < m.size();i++)
       {


       }



   }
}
import java.util.Scanner;
公共类巴利语
{
静态整数长度;
静态字符串st;
静态ListStack堆栈=新ListStack();
静态ListQueue lq=新ListQueue();
静态扫描仪输入=新扫描仪(System.in);
公共静态void main(字符串[]args)
{
text();
字符串s=null;
createStack(个);
字符串q=null;
创建队列(q);
}
公共静态无效文本()
{
字符串st,n=“y”;
int左,右;
扫描仪扫描=新扫描仪(System.in);
而(_n.相等信号情况(“y”))
{
System.out.println(“输入可能的回文:”);
st=scan.nextLine();
左=0;
右=标准长度()-1;
而(圣查拉特(左)=圣查拉特(右)和左<右)
{
左++;
对--;
}
System.out.println();
if(左<右)
System.out.println(“该字符串不是回文。”);
其他的
System.out.println(“该字符串是回文。”);
System.out.println();
System.out.print(“测试另一个回文(y/n)?”;
_n=scan.nextLine();
}
}
公共静态void createStack(字符串s)
{
对于(int i=0;i
您需要使用堆栈和队列吗?或者你这么做只是因为有人向你建议? 在当前代码中,实际上根本没有使用堆栈或队列,您只是创建它们并用空字符串填充它们

你的原始代码位对字符串的操作并没有那么糟糕,但是试着添加一个步骤来格式化你的字符串,这样你就可以去掉大小写,去掉除字母以外的任何东西,去掉空白等等。让这个步骤起作用,然后试着检查它是否是回文


不,我不会告诉你怎么做,因为我最近也做了同样的事情,我知道找到……有多容易。

到目前为止你有什么?导入java.util.Scanner;公共类Pali{static int length;静态字符串st;静态ListStack stack=new ListStack();静态ListQueue lq=new ListQueue();静态扫描程序输入=new Scanner(System.in);公共静态void main(字符串[]args){text();字符串s=null;createStack(s);String q=null;createQueue(q);}“一个确定字符串是否是回文的程序”对我来说听起来像[家庭作业]。如果是这样,请这样标记。public static void text(){String st,_n=“y”;int left,right;Scanner scan=new Scanner(System.in);while(_n.equalsIgnoreCase(“y”)){System.out.println(“输入一个可能的回文:”);st=scan.nextLine();left=0;right=st.length()-1;user1006161在原始问题中发布代码。不在评论部分。