Hirdetés
Új hozzászólás Aktív témák
-
Lacces
őstag
Hogyan kell kivenni a whitespaceket egy Stringből?
Probáltam még a String str = input.Split(' '); -t is használni, de akkor a char x=str[i]; -nél kerültem bajba, a fordító mindig kijelenti, hogy expliciten sem lehet string-et char-á konvertálni.
Trim()-et is bevetettem, de az sem segített rajtamString str = "5 + ( ( 1 + 2 ) * 4 ) −3"; Ennél egy StackEmpty hibát dob ki,
de ha a string-ben nincsenek whitespacek, akkor nem dobja ki a hibátstatic String LengyelFormaKonvertalas(String input)
{
Stack stack = new Stack();
String str = input.Trim();
StringBuilder formula = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
char x=str[i];
if (x == '(')
stack.Push(x);
else if (IsOperandus(x))
{
formula.Append(x);
}
else if (IsOperator(x))
{
if (stack.Count>0 && (char)stack.Peek()!='(' && Prior(x)<=Prior((char)stack.Peek()) )
{
char y = (char)stack.Pop();
formula.Append(y);
}
if (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) < Prior((char)stack.Peek()))
{
char y = (char)stack.Pop();
formula.Append(y);
}
stack.Push(x);
}
else
{
char y=(char)stack.Pop();
if (y!='(')
{
formula.Append(y);
}
}
}
while (stack.Count>0)
{
char c = (char)stack.Pop();
formula.Append(c);
}
return formula.ToString();
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy S20 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- Üzletből, garanciával, Macbook Pro Retina 13"2020 Touch Bar i7/32GB RAM/512GB SSD
- HP OMEN Gaming 16 - ÚJ - GAMER laptop - i7-13700HX, 16GB, 1TB SSD, RTX 4070(8GB)
- Samsung Galaxy A32 128GB, Kártyafüggetlen, 1 Év Garanciával
- HP Compaq 8300 Elite SFF, i5-3470, 8GB DDR3, 120GB SSD, WIN10
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen