Forum huvudsida -> Programmering -> Java hjälp
Sidor: 1
hacke01 | 16:52 - 2:a Februari 2009 | Post #1 | |
Medlem Inlägg: 3 Skicka PM |
HEj! Jag ska med hjälp av en Stack jag implementerat, skapa en metod som beräknar postfix uttryck, tar en sträng av heltal och (+,-,*,/) och retunerar en int. Nån som har någon idé hur jag ska gå tillväga? tacksam för hjälp! |
kode | 00:09 - 3:e Februari 2009 | Post #2 | |
Medlem Inlägg: 45 Skicka PM |
Ja, faktiskt. Jag föreslår att du implementerar järnvägsalgoritmen. http://en.wikipedia.org/wiki/Shunting_yard_algorithm http://www.ida.liu.se/~jonwa/PROG-D/j%E4rnv%E4gs_och_recursive_descent www.ida.liu.se/~tao/pub/dsa/kompendium/DoA-kompendium.pdf Edit: Eller missuppfattade jag kanske och du har en postfix sträng in? I sådana fall föreslår jag att du t.ex. använder StringTokenizer, pushar objekten på stacken, och varje gång det kommer en operand så poppar du, beräknar och pushar resultatet. Till slut har du ju då enbart slutresultatet. Samma princip, dock... Senast redigerad 00:12 - 3:e Februari 2009 |
hacke01 | 16:14 - 3:e Februari 2009 | Post #3 | |
Medlem Inlägg: 3 Skicka PM |
Tack så mycket, fått det att funka någorlunda, antagligen på ett ineffektivt sätt, vet inte riktigt hur jag ska göra för att de ska gå smidigt mellan alla 4 räknesätt, ska kolla upp hur tokenizern funkar, har ingen koll på de... Nu har jag skrivit en loop som använder substring för att dela upp operander och operatorer. märkte att man inte kan använda en eller operator på strängar hur ska jag göra för att få in if( "+" || "-" || "*") i samma? En fråga till om en annan uppgift om nån har lust. Ska skriva an klass Person som om man sätter in den i ett TreeSet sorteras efter ålder. fattar inte rikrigt uppgiften? nån som har tips till en lösning? |
kode | 18:58 - 3:e Februari 2009 | Post #4 | |
Medlem Inlägg: 45 Skicka PM |
Bistå gärna med ett kodexempel på hur din if-sats ser ut mer exakt. Din andra fråga skulle jag själv tolka som det att det är Person.ålder som TreeSet ska sortera efter. Detta innebär, om jag läst API:n korrekt, att du måste implementera interfacet Comparable. Detta innebär, ojmr (länge sedan jag lekte med Java) att prototypen till klassen Person blir nåt i stil med:
Tittar vi sedan på vad Comparable innehåller ( http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html ) (för att implementera ett interface måste man skriva de metoder som interfacet definierar) ser vi att den enbart innehåller metoden compareTo. Du ska med andra ord i den metoden jämföra åldersvariablen på det egna personobjektet med det personobjekt som är inparameter till metoden. Mer om interface: http://java.sun.com/docs/books/tutorial/java/IandI/usinginterface.html |
hacke01 | 20:05 - 3:e Februari 2009 | Post #5 | |
Medlem Inlägg: 3 Skicka PM |
Tack så jättemycke för hjälpen. Den första uppgiften lyckades jag precis lösa, blev lite kod duplicering men får va bra för tillfället. Precis börjat hålla på med interfaces , din tolkning låter helt klart vettig och jag ska läsa på i apin. tack tack! Sorry att ja e seg... På det sättet jag försöker jämföra dom får jag " inte cannot be referensed" hur ska jag skriva? Senast redigerad 20:23 - 3:e Februari 2009 |
kode | 23:04 - 3:e Februari 2009 | Post #6 | |
Medlem Inlägg: 45 Skicka PM |
Det känns näst intill omöjligt att veta det om du inte visar hur du skrivit och mer exakt hur felmeddelandet lyder. |
Sidor: 1
Forum huvudsida -> Programmering -> Java hjälp
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-07 21:08
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.