Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2015, 06:37   #1
Kengoo
Пользователь
 
Регистрация: 05.09.2015
Сообщений: 16
По умолчанию Java Infix to Postfix Stack

можно использовать только 0-9 + *

Цитата:
Input 4+5*3
Output 453*+
Input 5*3*9+8*2+7
Output 539**82*7++

Код:
import java.util.Stack;

public class Answer {  
    public static String answer(String str) 
    {
       	Stack<Character> st = new Stack<Character>();
    	
    	int len = str.length();
    	    	
    	String newstr ="";
    	    
    	for(int i =0; i<len; i++)
    	{
    		char charac = str.charAt(i);
    	 	    		
    		if(charac != '*' && charac != '+')
    		{
    			newstr+=charac;
    			System.out.println("Integer "+ charac + " "+ newstr);
    		}
    		else if(charac == '*' || charac == '+' && st.isEmpty())
    		{
    			System.out.println("Stack " + st.push(charac));	
    		}
    		else if(charac != '*' || charac != '+')
    		{
    			while(!st.isEmpty() && precedence(st.peek()) > precedence(charac))
    			{
    				newstr+=st.pop();
    			}
    			st.push(charac);
    		}
    	}
    	
    	while(!st.empty())
    		{
    			newstr+=st.pop();
    		}
    	
    return newstr;
  }
   
    public static int precedence(char ch)
    {
    	switch(ch)
    	{
    	case'+':
    		return 0;
    	case'*':
    		return 1;
    	}
    	return -1;
    }

Последний раз редактировалось Kengoo; 16.12.2015 в 12:27.
Kengoo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с postfix Sergey.Sergeevich Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 1 12.01.2016 03:11
Postfix problem(Python,Java,C#) Rita21 Помощь студентам 0 06.12.2015 08:28
Postfix -> MS Exchange Vanta11a Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 0 21.08.2015 09:14
Вопросы по postfix -=Virus=- Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 0 26.05.2014 09:03
Infix в файле *.png Ципихович Эндрю Софт 1 13.09.2013 20:24