2016-01-27 72 views
0

我正在从_(1-9)间隔的文件中读取数据,然后用每个数字对堆栈进行一些操作。我只是试图让我的案例阅读数组中的每个项目,并为每个数字做些事情,但我似乎无法让它工作。我无法让我的堆栈工作

public static void main(String[] args) throws FileNotFoundException { 
    FileReader file = new FileReader("textfile.txt"); 
    int[] integers; 
    integers = new int[100]; 
    int i = 0; 
    try (Scanner input = new Scanner(file)) { 
     while (input.hasNext()) { 
      integers[i] = input.nextInt(); 
      i++; 
     } 

     Stack<Integer> nums = new Stack<>(); 
     int number = integers[i]; 
     switch (number) { 
      case '1': 
       nums.push(5); 
       System.out.println(nums.peek()); 
       break; 
     } 
    } catch (Exception e) { 
    } 
} 
+0

你的具体问题是什么? –

回答

2

在你的switch语句,采取从数字1

'1'单引号出来的类型是char

1类型为int

而且,当你尝试在这里得到一个数字:

int number = integers[i]; 

总是会是0,因为i现在是一个比您在数组中实际填充的索引更大的索引。

+0

所以把它拿出来,让它切换(整数[i]); ? – CorDell

+0

你想完成什么?如果您只是想了解一下'Stack'和switch语句,请尝试'switch(1)'。添加更多'case'语句,看看会发生什么。 – Riaz

+0

从读入的文件中读取数字,然后用它们执行某个任务并将其等同于堆栈。 – CorDell