De programmeertaal Java biedt vele ingebouwde functies die het mogelijk maken programmeurs om basistaken in het dagelijkse programmering volbrengen . Echter , deze functies soms niet beschikbaar voor programmeurs voor de uitvoering. Met behulp van ingebouwde functies om problemen op te lossen kan helpen de productie , maar helpt niet begin programmeurs leren om eenvoudige taken op te lossen of te begrijpen hoe de onderliggende functies werken . Bijvoorbeeld , terwijl Java bevat een ingebouwde string splitsen functie , leren hoe je een te bouwen vanuit het niets kan laten zien hoe te doorkruisen en te manipuleren strijkers , aaneenschakelen strings en retourneren arrays van methoden . Basis Functie Structuur De splitsing methode zal nemen als argument een string op te splitsen . De functie zal deze string argument te nemen en een reeks kleinere sub- strings op basis van de plaatsing van komma's in de originele string. Aangezien er mogelijk meer dan een substring zal zijn , de functie slaat deze strings in een array van strings , waarvan het passeert terug naar het oproepende programma als een return waarde : class SplitExample { public static String [ ] splitter ( String arg ) { } } doorkruisen van de String de methode zal , als haar primaire operatie , traverse de string zoek naar komma . Dit kan worden bereikt met een "voor " lus die over elk teken in de tekenreeks herhaalt . Met behulp van de klasse String 's ingebouwde functie " charAt " , kan de programmeur elk karakter te evalueren als het wordt aangetroffen . Elke iteratie kan een nieuwe sub- tekenreeks te maken totdat het ontmoeten van een komma : public static String [ ] splitter ( String arg ) { String [ ] list = new String [ 10 ] ; //sub touwtje arraycount = 0 ; String sub = " " ; //huidige substring for (int i = 0 ; i < arg.length ( ) ; i + + ) { sub + = arg.charAt ( i ) ; } } Splitting de String de lus moet sub- strings op basis van de plaatsing van komma's te scheiden . Daarom zal een "if " statement in de lus van de huidige teken tegen de komma controleren . Als er een match is , dat betekent dat de huidige inhoud van de " sub" het bezit van een compleet substring , die vervolgens in de array kan worden opgeslagen : for (int i = 0 ; i < arg . lengte ( ) ; i + + ) { if ( arg.charAt ( i ) == ' , ' ) { list [ count ] = sub , sub = " " ; count + + ; } else { sub + = arg.charAt ( i ) ; } } Terugkeren a String Array Tenslotte heeft alle methode te doen is het kopiëren van de laatste substring van de grotere tekenreeksargument , die niet eindigen met een komma daar zij bestaat aan het eind van de argumentstring . Vervolgens wordt de matrix alle sub strings gescheiden door komma zonder de komma bevatten . De methode de array terug naar het oproepende programma : for (int i = 0 ; i < arg.length ( ) ; i + + ) { if ( arg.charAt ( i ) = = ' , ' ) { list [ count ] = sub , sub = " " ; count + + ; } else { sub + = arg.charAt ( i ) ; } } lijst [ count ] = sub ; terugkeer lijst ;
|