jaroslav@106: /** jaroslav@106: * Back 2 Browser Bytecode Translator jaroslav@106: * Copyright (C) 2012 Jaroslav Tulach jaroslav@106: * jaroslav@106: * This program is free software: you can redistribute it and/or modify jaroslav@106: * it under the terms of the GNU General Public License as published by jaroslav@106: * the Free Software Foundation, version 2 of the License. jaroslav@106: * jaroslav@106: * This program is distributed in the hope that it will be useful, jaroslav@106: * but WITHOUT ANY WARRANTY; without even the implied warranty of jaroslav@106: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jaroslav@106: * GNU General Public License for more details. jaroslav@106: * jaroslav@106: * You should have received a copy of the GNU General Public License jaroslav@106: * along with this program. Look for COPYING file in the top folder. jaroslav@106: * If not, see http://opensource.org/licenses/GPL-2.0. jaroslav@106: */ jaroslav@34: package org.apidesign.vm4brwsr; jaroslav@34: jaroslav@34: /** jaroslav@34: * jaroslav@34: * @author Jaroslav Tulach jaroslav@34: */ jaroslav@34: public class StringSample { jaroslav@34: public static final String HELLO = "Hello World!"; jaroslav@36: private static int counter; jaroslav@36: jaroslav@36: private final int cnt; jaroslav@36: public StringSample() { jaroslav@36: cnt = ++counter; jaroslav@36: } jaroslav@36: jaroslav@34: jaroslav@34: public static char sayHello(int indx) { jaroslav@34: return HELLO.charAt(indx); jaroslav@34: } jaroslav@36: jaroslav@116: public static boolean equalToHello(int from, int to) { jaroslav@116: return "Hello".equals(HELLO.substring(from, to)); jaroslav@116: } jaroslav@116: jaroslav@45: public static String fromChars(char a, char b, char c) { jaroslav@45: char[] arr = { a, b, c }; jaroslav@45: return new String(arr).toString(); jaroslav@45: } jaroslav@176: jaroslav@176: public static String charsFromNumbers() { jaroslav@176: return chars((char)65, (char)66, (char)67); jaroslav@176: } jaroslav@176: jaroslav@176: public static String charsFromChars() { jaroslav@176: return chars('A', 'B', 'C'); jaroslav@176: } jaroslav@171: jaroslav@171: public static String chars(char a, char b, char c) { jaroslav@171: return ("" + a + b +c).toString(); jaroslav@171: } jaroslav@45: jaroslav@183: public static String replace(String s, char a, char b) { jaroslav@183: return s.replace(a, b); jaroslav@183: } jaroslav@183: jtulach@193: public static int hashCode(String h) { jtulach@193: return h.hashCode(); jtulach@193: } jtulach@193: jaroslav@188: public static String insertBuffer() { jaroslav@188: StringBuilder sb = new StringBuilder(); jaroslav@188: sb.append("Jardo!"); jaroslav@188: sb.insert(0, "Ahoj "); jtulach@192: sb.delete(4, 8); jaroslav@188: return sb.toString().toString(); jaroslav@188: } jaroslav@188: jaroslav@184: public static int countAB(String txt) { jaroslav@184: int cnt = 0; jaroslav@184: for (int i = 0; i < txt.length(); i++) { jaroslav@184: switch (txt.charAt(i)) { jaroslav@184: case 'A': cnt++; break; jaroslav@184: case 'B': cnt += 2; break; jaroslav@184: } jaroslav@184: } jaroslav@184: return cnt; jaroslav@184: } jtulach@196: jtulach@196: public static int stringSwitch(String txt) { jtulach@196: switch (txt) { jtulach@196: case "jedna": return 1; jtulach@196: case "dve": return 2; jtulach@196: case "tri": return 3; jtulach@196: case "ctyri": return 4; jtulach@196: } jtulach@196: return -1; jtulach@196: } jaroslav@184: jaroslav@36: public static String toStringTest(int howMuch) { jaroslav@104: counter = 0; jaroslav@36: StringSample ss = null; jaroslav@36: for (int i = 0; i < howMuch; i++) { jaroslav@36: ss = new StringSample(); jaroslav@36: } jaroslav@93: return ss.toString().toString(); jaroslav@36: } jaroslav@104: jaroslav@104: public static String concatStrings() { jaroslav@137: return (toStringTest(1) + "\\\n\r\t").toString(); jaroslav@104: } jaroslav@36: jaroslav@36: @Override jaroslav@36: public String toString() { jaroslav@36: return HELLO + cnt; jaroslav@36: } jaroslav@34: }