Splitproov.java
Allikas: Lambda
// Vaike demo kasurealt stringi lugemise ja parsimise kohta // // Olulist tahele panna: // - Programm loeb kasurealt yhe stringi, kus on eraldava stringiga eraldatud sonad // - loetakse kokku eraldajad ja trykitakse nende arv valja // - string lohutakse eraldaja jargi (vaikimisi koma, voib olla ka muu string) // - sona alguses ja lopus olevad tyhikud visatakse ara // - tehakse stringimassiiv ja sonad pannakse ykshaaval sinna massiivi // - lopuks trykitakse sonad massiivist valja // Must import java.io.* in order to get access to libraries import java.io.*; public class splitproov { public static void main(String[] args) { String input; String[] words; String separator=","; // NB! You can use any string as a separator! int i; int len; int count; int pos; int ws; int we; /* Get input from the command line. If the command line does not contain input, print an error message and end this program. */ if (args.length == 1) { input = args[0]; } else { System.out.println("Usage: java splitproov \"mingitekst\""); return; } /* count the number of separators: then we know the required size of the array */ len=input.length(); count=0; pos=-1; for(;;) { // loop over all occurrences of separator in input pos=input.indexOf(separator,pos+1); // search from last pos found! if (pos<0) break; // none found after pos count++; } // let us print some useful debug information System.out.println("\nFound "+count+" separators "+separator); // make a suitable array words=new String[count+1]; // loop again over the input, this time collecting strings ws=0; // word start we=ws+1; // word end count=0; pos=-1; for(;;) { // again, loop over all occurrences of separator in input pos=input.indexOf(separator,pos+1); // search from last pos found! if (pos<0) { // no separator found after pos: take to end of string we=input.length(); } else { // separator found we=pos; } words[count]=input.substring(ws,we).trim(); // take substring, remove spaces ws=pos+separator.length(); // this is where the next word will start count++; if (pos<0) break; } // print the contents of the array for(count=0;count<words.length;count++) { System.out.println("Word nr "+count+": "+words[count]); } } }