Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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_Stack - Fatal编程技术网

在Java中创建堆栈的堆栈

在Java中创建堆栈的堆栈,java,stack,Java,Stack,我想创建一个整数堆栈堆栈。这样我就可以在主堆栈中推送一个新的整数堆栈 如何创建它? 我已经为此编写了以下代码: import java.util.*; import java.io.*; public class Containers{ static Stack<Integer> subStack = new Stack<Integer>(); static Stack<subStack> main = new Stack<subSt

我想创建一个整数堆栈堆栈。这样我就可以在主堆栈中推送一个新的整数堆栈

如何创建它? 我已经为此编写了以下代码:

import java.util.*;
import java.io.*;

public class Containers{
    static Stack<Integer> subStack = new Stack<Integer>();
    static Stack<subStack> main  = new Stack<subStack>();
   public static int addToStatck(char cont){
       //for(int j=0;j<)
        return 0;
    }
    public static void main(){
        Scanner sc = new Scanner(System.in);
        String container = sc.next();
        Stack sub = new Stack();
        sub.push(container.charAt(0));
        main.push(sub);
        int ans = 0;
        for(int i=0;i<container.length();++i){
            ans+=addToStatck(container.charAt(i));
        }

    }

}
import java.util.*;
导入java.io.*;
公营货柜{
静态堆栈子堆栈=新堆栈();
静态堆栈main=新堆栈();
公共静态int addToStatck(char cont){

//对于(int j=0;j没有
subStack
类型(除非您创建这样的类型)

main
的类型应为:

static Stack<Stack<Integer>> main = new Stack<>();
应该是

Stack<Integer> sub = new Stack<>();
Stack sub=新堆栈();
总结如下:

public class Containers{
    static Stack<Stack<Integer>> main = new Stack<>();
    public static int addToStatck(char cont){
        //for(int j=0;j<)
        return 0;
    }
    public static void main(){
        Scanner sc = new Scanner(System.in);
        String container = sc.next();
        Stack<Integer> sub = new Stack<>();
        sub.push(Integer.valueOf (container.charAt(0)));
        main.push(sub);
        int ans = 0;
        for(int i=0;i<container.length();++i){
            ans+=addToStatck(container.charAt(i));
        }   
    }  
}
公共类容器{
静态堆栈main=新堆栈();
公共静态int addToStatck(char cont){

//对于(int j=0;jimport java.util.*;import java.io.*;公共类容器{static Stack main=new Stack();公共静态int addToStatck(char cont){return 0;}公共静态void main(){Scanner sc=new Scanner(System.in);String container=sc.next();Stack sub=new Stack();sub.push(container.charAt(0));main.push(sub);int ans=0;for(int i=0;iI)已经完成了上述代码。但它仍然显示错误:container.java包含未检查或不安全的操作。@Andy.inamdar要么将内部堆栈更改为
Stack
,要么将
sub.push(container.charAt(0));
更改为
sub.push(Integer.valueOf(container.charAt(0));
@Andy.inamdar您不能将字符添加到整数堆栈中,因为没有从字符到整数的自动转换。我没有创建整数堆栈。我创建了字符的堆栈。
Stack<Integer> sub = new Stack<>();
public class Containers{
    static Stack<Stack<Integer>> main = new Stack<>();
    public static int addToStatck(char cont){
        //for(int j=0;j<)
        return 0;
    }
    public static void main(){
        Scanner sc = new Scanner(System.in);
        String container = sc.next();
        Stack<Integer> sub = new Stack<>();
        sub.push(Integer.valueOf (container.charAt(0)));
        main.push(sub);
        int ans = 0;
        for(int i=0;i<container.length();++i){
            ans+=addToStatck(container.charAt(i));
        }   
    }  
}