Dette program opdeler en String i dele af en bestemt størrelse:
/** * Created by IntelliJ IDEA. * User: Søren Reinke * Date: May 8, 2003 * Time: 11:48:15 AM * To change this template use Options | File Templates. */ public class OpDel { private static final int størrelse=3;
public OpDel() {
String text="Dette er en test"; int pos=0; while(pos<text.length()) { String del=text.substring(pos,(pos+størrelse<=text.length()?(pos+størrelse):text.length())); System.out.println("del = '"+del+"'"); pos+=størrelse; } }
public static void main(String[] args) { new OpDel(); } }
public static String[] opdelStreng( String inStr, int lengde ) { // opdeler strengen inStr i stykker der hver er lengde bogstaver lange int arrLengde = (int)Math.ceil( (double)inStr.length() / lengde ); String[] resultat = new String[arrLengde]; int i,j; for ( i=0, j=0; j<arrLengde-1; i+=lengde, j++ ) { resultat[j] = inStr.substring( i, i+lengde ); } resultat[j] = inStr.substring( i ); return resultat; } //end of method opdelString
Jo pokkerme. et array må gerne have lengden 0, og det er det korrekte at have der. fejlen er i linien resultat[j] = inStr.substring( i ); // j bør range-testes først.
public static String[] opdelStreng( String inStr, int lengde ) { // opdeler strengen inStr i stykker der hver er lengde bogstaver lange int arrLengde = (int)Math.ceil( (double)inStr.length() / lengde ); String[] resultat = new String[arrLengde]; int i,j; for ( i=0, j=0; j<arrLengde-1; i+=lengde, j++ ) { resultat[j] = inStr.substring( i, i+lengde ); } if ( j<arrLengde ) resultat[j] = inStr.substring( i ); return resultat; } //end of method opdelString
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.