dabocaiqq
dabocaiqq
采纳率66.6%
2020-03-29 11:49 阅读 217

高分悬赏:Java语言定义一个堆栈类,然后用这个堆栈类实现对字符串的输入是否是回文字符串的判断

625

高分悬赏:Java语言定义一个堆栈类,然后用这个堆栈类实现对字符串的输入是否是回文字符串的判断

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    andy_wanhl andy_wanhl 2020-04-07 12:42
    点赞 评论 复制链接分享
  • piaoyiren piaoyiren 2020-03-29 15:43

    不用堆栈也能做回文字符串,你要吗

    public static void method() {
    Scanner in = new Scanner(System.in);
    System.out.println("加入我的QQ:577976846,以后有问题可以直接找我");
    System.out.println("加入我的QQ:577976846,以后有问题可以直接找我");
    System.out.println("加入我的QQ:577976846,以后有问题可以直接找我");
    System.out.print("请输入你的字符串:");
    String zifuch = in.nextLine();
    int num = zifuch.length();
    if(num == 1)
    System.out.println("输入的字符串是回文字符串");
    for(int i=0;i<num/2;i++) {
    boolean flag =true;
    System.out.println(zifuch.substring(i, i+1));
    System.out.println(zifuch.substring(num-i-1, num-i));
    if(zifuch.substring(i, i+1).equals(zifuch.substring(num-i-1, num-i))) {
    flag = true;
    }else {
    System.out.println("输入的字符串不是回文字符串");
    break;
    }
    if(i==(num/2-1)) {
    System.out.println("输入的字符串是回文字符串");
    }
    }
    }
    public static void main(String[] args) {
    method();
    }

    点赞 评论 复制链接分享
  • yef930 yef930 2020-04-02 11:55

    也不知道为啥非要堆栈,按照你的要求写了一个,试试吧

    public class MyStack {
        private List<Object> objs = new ArrayList<Object>();
    
        private Integer index = -1;
    
        public void push(Object obj) {
            objs.add(obj);
            index ++;
        }
    
        public Object pull() {
            if(index < 0) {
                return null;
            }
            Object obj = objs.get(index);
            index--;
            return obj;
        }
    
        public boolean hasObj() {
            return index >= 0 ? true : false;
        }
    
        public static void main(String[] args) {
            MyStack myStack = new MyStack();
    
            String a = "12233221";
            //入栈
            for(int i=0;i<a.length();i++) {
                myStack.push(a.charAt(i));
            }
    
            //出栈
            StringBuffer str = new StringBuffer();
            while(myStack.hasObj()) {
                Object obj = myStack.pull();
                str.append(String.valueOf(obj));
            }
    
            if(str.toString().equals(a)) {
                System.out.println("字符串(" +a + ")是回文");
            } else {
                System.out.println("字符串(" +a + ")不是回文");
            }
    
        }
    }
    
    点赞 评论 复制链接分享

相关推荐