fork(1) download
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayList;
  5.  
  6. class Main {
  7. static ArrayList <Short> stos = new ArrayList<>();
  8. static BufferedReader br = new BufferedReader(isr);
  9. static String input = "0" ;
  10.  
  11. public static void main(String[] args) {
  12.  
  13. /*
  14.   Dopóki podaje coś na wejście wywołuję metodę stosik
  15.   W przypadku błedu kontynuuję
  16.   */
  17. while(!input.isEmpty()) {
  18. try {
  19. input = br.readLine();
  20. stosik(input);
  21. }
  22. catch(Exception ex){
  23. continue;
  24. }
  25. }
  26.  
  27. }
  28. /*
  29.   Jeżeli wprowadzono + lub minus wykonuję odpowiednie działania. Jeżeli wprowadzono inny znak drukuję :(
  30.   Jeżeli wprowadzono + sprawdzam czy stos pełen
  31.   Jeżeli nie odczytuję linie, zamieniam na short , sprawdzam czy mieści się w przedziale <0;9> , dodaje do listy, drukuję :) i przerywam
  32.   Jeżeli pełen czytam linie drukuje :( przerywam
  33.   Jeżeli wprowadzono - sprawdzam czy stos pusty
  34.   Jeżeli nie drukuję pierwszą liczbę z listy, następnie ją usuwam
  35.   Jeżeli tak drukuję :( przerywam
  36.   */
  37. public static void stosik (String znak){
  38. short liczba ;
  39. if(znak.equalsIgnoreCase("+")||znak.equalsIgnoreCase("-")){
  40. switch (znak){
  41. case "+" : if(!isFull()) {
  42. try {
  43. input = br.readLine();
  44. liczba = Short.parseShort(input);
  45. if((liczba >= 0) && (liczba <= 9) ) {
  46. stos.add(liczba);
  47. System.out.println(":)");
  48. break;
  49. }
  50. else {
  51. System.out.println(":(");
  52. break ;
  53. }
  54. }
  55. catch(Exception ex){
  56. System.out.println(":(");
  57. break ;
  58. }
  59. }
  60. else {
  61. try {
  62. input = br.readLine();
  63. System.out.println(":(");
  64. break;
  65. }
  66. catch(Exception ex){
  67. System.out.println(":(");
  68. break ;
  69. }
  70. }
  71.  
  72. case "-" : if(!isEmpty()){
  73. System.out.println(stos.get(0));
  74. stos.remove(0);
  75. break;
  76. }
  77. else{
  78. System.out.println(":(");
  79. break;
  80. }
  81. }
  82. }
  83. else {
  84. System.out.println(":(");
  85. }
  86. }
  87.  
  88. public static boolean isFull (){
  89. if(stos.size() < 10){
  90. return false;
  91. }
  92. else {
  93. return true;
  94. }
  95. }
  96.  
  97. public static boolean isEmpty (){
  98. if(stos.size() == 0){
  99. return true;
  100. }
  101. else{
  102. return false;
  103. }
  104. }
  105.  
  106. }
  107.  
  108.  
Runtime error #stdin #stdout #stderr 0.04s 4386816KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "main" java.lang.NullPointerException
	at Main.main(Main.java:18)