Как сохранить int в стеке? (начинающий джава)

Я пытаюсь сохранить значение int, которое мой сервер получает от клиента, в стек, но не знаю, с чего начать и что делать.

public class ser {
    public static int number, temp;

    public static void main(String args[]) throws UnknownHostException, IOException 
    {
        ServerSocket s1=new ServerSocket(1342);
        Socket ss = s1.accept();
        Scanner sc = new Scanner (ss.getInputStream());
        number = sc.nextInt();

        temp = number*2;

        PrintStream p=new PrintStream(ss.getOutputStream());
        p.println(temp);
    }
}

Я хочу, чтобы темп сохранялся в стеке.

Любая помощь будет оценена.

Сначала вам понадобится стек. Затем, поскольку стандартная реализация будет принимать только объекты, вам нужно будет упаковать int с Integer, но компилятор может сделать это за вас автоматически. Если вам нужен стек примитивов, вероятно, есть какая-то библиотека, содержащая что-то вроде IntStack.

Thomas 22.03.2019 11:33

Какой у Вас вопрос? Вы не знаете, как объявить переменную? Какой тип использовать для Stack?

talex 22.03.2019 11:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
652
2

Ответы 2

попробуйте код ниже.

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

public class ser {
    public static int number, temp;

    public static void main(String args[]) throws UnknownHostException, IOException 
    {
        ServerSocket s1=new ServerSocket(1342);
        Socket ss = s1.accept();
        Scanner sc = new Scanner (ss.getInputStream());
        number = sc.nextInt();

        temp = number*2;

        Stack<Integer> stack = new Stack<Integer>(); 
        stack.push(number);
        stack.push(temp);

        PrintStream p=new PrintStream(ss.getOutputStream());
        p.println(temp);
    }
}

Я предполагаю, что вы имеете в виду, что хотите создать структуру данных стека, то есть структуру первого в последнем.

Вам нужно объявить объект куча и поместить в него свою временную переменную. Измененный код будет выглядеть примерно так

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

  public class ser {
      public static int number, temp;

      public static void main(String args[]) throws UnknownHostException, 
  IOException 
      {
          ServerSocket s1=new ServerSocket(1342);
          Socket ss = s1.accept();
          Scanner sc = new Scanner (ss.getInputStream());
          number = sc.nextInt();

          temp = number*2;

          Stack<Integer> stack = new Stack<Integer>(); 
          stack.push(temp);

          PrintStream p=new PrintStream(ss.getOutputStream());
          // this should print your temp number, now part of the stack
          p.println(stack.peek());
      }
   }

Однако, если вы имеете в виду действие сохранения переменных «в стеке» как выделение памяти, взгляните на вопрос это.

Надеюсь это поможет!

Другие вопросы по теме