Zjištění obsahu Stack v Java
java
package com.company;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Stack;
public class ComputeFactorial {
/**
* Main method
*/
public static void main(String[] args) {
// Create a Scanner
Scanner input = new Scanner(System.in);
System.out.print("Enter a non-negative integer: ");
int n = input.nextInt();
Faktorial fakt = new Faktorial();
// Display factorial
System.out.println("Factorial of " + n + " is " + fakt.factorial(n));
}
}
package com.company;
public class Faktorial {
/**
* Return the factorial for a specified number
*/
public long factorial(int n) {
IterateOverStackExample iterate = new IterateOverStackExample();
if (n == 0) { // Base case
iterate.ListIterator();
return 1;
} else {
iterate.ListIterator();
return n * factorial(n - 1); // Recursive call
}
}
}
package com.company;
import java.util.*;
public class IterateOverStackExample {
//Stack<Object> stackOfPlates = new Stack<>();
public void ListIterator() {
System.out.println("\n=== Iterate over a Stack from TOP to BOTTOM using listIterator() ===");
/*
ListIterator allows you to traverse in both forward and backward directions.
We'll start from the top of the stack and traverse backwards.
IterateOverStackExample iterate=new IterateOverStackExample();
iterate.ListIterator();
*/
Stack<Object> stackOfPlates = new Stack<>();
ListIterator<Object> platesListIterator = stackOfPlates.listIterator(stackOfPlates.size());
while (platesListIterator.hasPrevious()) {
Object plate = platesListIterator.previous();
System.out.println(plate);
}
}
}
Neformátovaný
Přidáno: 9.11.2019
Expirace: Neuvedeno