В приведенном ниже примере, когда я не добавлял "" (пустую строку), вывод был в виде int, что довольно ненормально, поскольку добавление строки с целым числом всегда дает строку. Но как только я добавил пустую строку, код, казалось, работал нормально. В обоих случаях я добавлял строку из массива строк, который я создал ранее в коде.
import java.io.*;
public class TooLong{
public static void main(String[] args) throws IOException{
InputStreamReader n = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(n);
byte i ;
i=Byte.parseByte(input.readLine());
String origWords[] = new String[i];
for (int j=0;j<i;j++) origWords[j]= input.readLine();
for (int j=0;j<i;j++){
int charLength = origWords[j].length();
if (charLength < 11) System.out.println(origWords[j]);
else System.out.println(origWords[j].charAt(0) +""+ (charLength-2) + origWords[j].charAt(charLength-1) );
}
}
}