Thread: StringBuffer probleem
-
15-04-2012, 11:52 #1Approved 9liver
- Registered
- 26/11/03
- Location
- Rstad
- Posts
- 9,839
- iTrader
- 16 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 0/80
StringBuffer probleem
Hallo, de opgave is om een chemische formule in te lezen en deze dus zo in een array te plaatsen ( Au, O, H, ...)
uiteindelijk moet je 2 formules ingeven en worden ze vergeleken, dus ze moeten gerangschikt worden etc.
nu als de invoer bijv 'HalloTest' zou zijn, dan moet in die array 'Hallo' en 'Test' als index 0 en 1 komen.
mijn code voor de invoer om te zetten in die array is als volgt;
bij de uitvoer heb ik een array waar dus niets inzit, waar ben ik fout?Code:public ChemischeStof(String f) { formule = f; } public String conversie () { StringBuffer sb = new StringBuffer(formule); StringBuffer [] array = new StringBuffer [formule.length()]; for (int i = 0 ; i < sb.length(); i++) { char c = sb.charAt(i); boolean b = Character.isUpperCase(c); if (b = true) { array[i] = new StringBuffer(c); } else { array[i].append(c); } } return Arrays.toString(array); oproepen gebeurd via dit in de main; Scanner sc = new Scanner (System.in); System.out.println("Geef de Eerste stof in;"); String naam1 = sc.nextLine(); ChemischeStof c1 = new ChemischeStof (naam1); String s = c1.conversie();Gear: Denon X1100 | 2 x Sync Xtrm 1 | 2 x Reloop RMP1 | NI F1 | NI X1 | NI S2 |NI Maschine MKII | NI Audio 8 DJ | Sennheiser HD25no votes
-
-
15-04-2012, 11:56 #2Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
Serieus, leer je debugger te gebruiken. Je hebt 10 regels code, als je dat al niet zelf kan debuggen dan kan je beter stoppen met programmeren.
“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
15-04-2012, 12:00 #3Approved 9liver
- Registered
- 26/11/03
- Location
- Rstad
- Posts
- 9,839
- iTrader
- 16 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 0/80
ik wil stoppen met programmeren, daar ik bouwkunde doe, bedankt voor de hulp alleszins.
Gear: Denon X1100 | 2 x Sync Xtrm 1 | 2 x Reloop RMP1 | NI F1 | NI X1 | NI S2 |NI Maschine MKII | NI Audio 8 DJ | Sennheiser HD25no votes
-
15-04-2012, 12:03 #4Approved 9-lifer
- Registered
- 06/11/09
- Location
- Turnhout
- Posts
- 841
- iTrader
- 8 (100%)
- Mentioned
- 0 Post(s)
Is u formule-variabele globaal geïnstantieerd in u ChemischeStof? Of kijk ik er nu over?
no votes
-
15-04-2012, 12:03 #5Approved 9liver
- Registered
- 26/11/03
- Location
- Rstad
- Posts
- 9,839
- iTrader
- 16 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 0/80
ja, mijn excuses, dat heb ik niet mee gekopieerd.
Gear: Denon X1100 | 2 x Sync Xtrm 1 | 2 x Reloop RMP1 | NI F1 | NI X1 | NI S2 |NI Maschine MKII | NI Audio 8 DJ | Sennheiser HD25no votes
-
15-04-2012, 12:06 #6Approved 9-lifer
- Registered
- 30/09/02
- Location
- Kasterlee
- Posts
- 6,160
- iTrader
- 11 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/25
b == true ipv b = true. Nu is b altijd true in die if/else conditie.
That being said. Als ge nog een aantal programmeeropdrachten voor de boeg hebt zou ik wel cycloon zijn raad opvolgen. Of toch op zen minst uw te debuggen code (tijdelijk) even volsteken met prints om uw fouten op te sporen.
Als ge hier een print had gestoken na de if en één na de else had ge al kunnen opmerken dat de else nooit betreden wordt.
edit: ik geef ook geen garantie dat dit uw enige fout was.
PSN: Daedieno votes
-
15-04-2012, 12:07 #7Member
- Registered
- 23/11/03
- Location
- Landeurp
- Posts
- 1,791
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 10/17
Ik zou "= true" weglaten en nog eens proberen.
no votes
-
15-04-2012, 12:10 #8Approved 9-lifer
- Registered
- 27/08/04
- Location
- Leuven
- Posts
- 930
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 11/38
Enkele dingen om over na te denken:
- Je kan niet de lengte van je array op even lang als de formule instellen omdat er minder chemische tekens zullen zijn als letters in de formule.
- De i (van 0 tot aantal letters in de formule) als index gebruiken in je array houdt dan ook geen steek.
- Maak kennis met de List<string>.
- Gebruik == om te kijken of iets gelijk is aan iets, = dient voor toekenning.
- Een string is immutable: test.append(bla) gaat niets veranderen aan test, het geeft een nieuwe string terug.
- test.append(bla) zal falen als test null is.
Last edited by NeverwinterX; 15-04-2012 at 13:32.
I am thee and thou art me and all of one is the other.
TED talk: Richard Dawkins on militant atheismno votes
-
15-04-2012, 12:11 #9Approved 9liver
- Registered
- 26/11/03
- Location
- Rstad
- Posts
- 9,839
- iTrader
- 16 (100%)
- Mentioned
- 1 Post(s)
- Reputation
- 0/80
ah ja die '=true', dom

nuja ik werk met jcreator LE, daar kunt ge niet mee debuggen veronderstel ik?
nuja ik zal nog wat verder zoeken alleszins bedankt voor de tips.
*edit al terug gepost, bedankt voor de infoGear: Denon X1100 | 2 x Sync Xtrm 1 | 2 x Reloop RMP1 | NI F1 | NI X1 | NI S2 |NI Maschine MKII | NI Audio 8 DJ | Sennheiser HD25no votes
-
15-04-2012, 16:44 #10Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
Zelf al biedt jcreator geen debugger aan, dan zou je nog steeds de raad van Daedie kunnen volgen en je code volsteken met System.out.println("tralala") lijnen.
En anders moet je maar eens op zoek gaan naar netbeans of eclipse, die bieden dat wel aan.“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes

