Я пытаюсь написать решение этого вопроса: http://sharecode.io/section/problemset/problem/1088, но я получаю ошибку времени выполнения и Eclipse kepler и компиляция ideone.com для меня разные. Я не понимаю, почему.Сканирование и получение ошибки времени выполнения
И на самом деле я хочу спросить, почему этот код System.out.println("String #"+(i+1));
запускается первым в цикле for и `str = br.readLine() ;? не работает правильно в порядке?
import java.io.IOException;
public class Main {
public static void main(String args[]) throws IOException {
java.io.InputStreamReader isr = new java.io.InputStreamReader(System.in);
java.io.BufferedReader br = new java.io.BufferedReader(isr, 16 * 1024);
int testcase = br.read();
String str = "";
String[] strarray=null;
for(int i=0;i<testcase;i++){
str = br.readLine();
strarray = str.split("");
for (int j = 1; j < strarray.length; j++) {
if (strarray[j].equals("A"))
strarray[j] = "B";
else if (strarray[j].equals("B"))
strarray[j] = "C";
else if (strarray[j].equals("C"))
strarray[j] = "D";
else if (strarray[j].equals("D"))
strarray[j] = "E";
else if (strarray[j].equals("E"))
strarray[j] = "F";
else if (strarray[j].equals("F"))
strarray[j] = "G";
else if (strarray[j].equals("G"))
strarray[j] = "H";
else if (strarray[j].equals("H"))
strarray[j] = "I";
else if (strarray[j].equals("I"))
strarray[j] = "J";
else if (strarray[j].equals("J"))
strarray[j] = "K";
else if (strarray[j].equals("K"))
strarray[j] = "L";
else if (strarray[j].equals("L"))
strarray[j] = "M";
else if (strarray[j].equals("M"))
strarray[j] = "N";
else if (strarray[j].equals("N"))
strarray[j] = "O";
else if (strarray[j].equals("O"))
strarray[j] = "P";
else if (strarray[j].equals("P"))
strarray[j] = "Q";
else if (strarray[j].equals("Q"))
strarray[j] = "R";
else if (strarray[j].equals("R"))
strarray[j] = "S";
else if (strarray[j].equals("S"))
strarray[j] = "T";
else if (strarray[j].equals("T"))
strarray[j] = "U";
else if (strarray[j].equals("U"))
strarray[j] = "V";
else if (strarray[j].equals("V"))
strarray[j] = "W";
else if (strarray[j].equals("W"))
strarray[j] = "X";
else if (strarray[j].equals("X"))
strarray[j] = "Y";
else if (strarray[j].equals("Y"))
strarray[j] = "Z";
else if (strarray[j].equals("Z"))
strarray[j] = "A";
}
System.out.println("String #"+(i+1));
for(int k =0 ; k<strarray.length;k++)
System.out.print(strarray[k]);
}
}
}
Попробуйте использовать переключатель случае, это будет быстрее здесь. – Maxzeroedge
Или вы можете преобразовать прочитанный strarray [j] в Character и increnemt int (и проверить, 'Z' - установить 'A'). Это было бы намного быстрее. – Ivan