将非重复字符串推入堆栈并在Java中打印其大小

ymdaylpp  于 2023-11-15  发布在  Java
关注(0)|答案(1)|浏览(91)

正如你所看到的,我在这里遇到了一个问题,因为我试图使用两个循环将一个非重复的字符串插入到我的堆栈中,但是在编译时我得到了这个Error - Exception in thread“main”java.lang。Error:Unresolved compilation problem:The method push(String)in the type Stack is not applicable for the arguments(char)

import java.util.*;
public class Qno3String {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String inp=sc.nextLine();
        Stack<String> st = new Stack<>();
        for(int i =0;i<inp.length();i++) {
            for(int j = i;j<inp.length();j++) {     
                if(inp.charAt(i) == inp.charAt(j)) {
                    st.push(inp.charAt(i));
                }
            }
        
        }
        System.out.println(st.size());
    }

}

字符串

p5fdfcr1

p5fdfcr11#

错误消息告诉您问题所在:推送一个整数,而不是一个字符。

st.push((int)inp.charAt(i));

字符串
请注意,错误消息和您的代码是矛盾的:

Stack<Integer> st = new Stack<>();


但是:
方法push(String).

相关问题