Ejemplo de traducción de código Java:
1. Ingrese una cadena que termine en '@' y tradúzcala de izquierda a derecha. Si el siguiente carácter es un número n (0≤n≤9), significa que el último carácter se repite n+1 veces, independientemente de si el último carácter es un número, si el siguiente carácter no es un número, representa; sí mismo.
2. Después de la traducción, genere la salida en grupos de 3 caracteres, con espacios entre cada grupo.
Por ejemplo, ‘a2 b5 e 34 fg 0 zy wpq 59 r @’ se traduce en ‘abb_bee_eee_e44_44f_gzy_wpq_999_999_r@’.
3. Análisis: primero recorra la matriz directamente para traducir la cadena según sea necesario, luego agrupe las cadenas traducidas para formar una matriz de cadenas y finalmente use guiones bajos para conectar las matrices de cadenas para la salida.
Código fuente de traducción de Java:
Importar Java . util .
Clase pública Main5{
Public static void main(String). [] args) {
Escáner en = nuevo escáner (sistema . en);
cadena s = en .nextline(); .length();
Resultado de cadena = " ";
char[] str = nuevo carácter [longitud]
for(int I = 0 ;i<length ;i++) {
str[I]= s.charat(I);
}
resultado+= str[0]; p>if (str[length - 1]!= '@') {
System.out.println("¡Error de entrada!");
} De lo contrario {
for(int index = 0; index & ltlength-1;) {
if(' 0 ' = = str[index+1]| | ' 1 ' = = str[index+ 1]| | ' 2 ' = = cadena[índice+1]| | ' 3 ' = = cadena[índice+1]
| ' 5 ' = = cadena[índice+1]| ' 6 ' = = cadena[índice+1]
| ' 7 ' = = cadena[índice+1] | = cadena[índice+1]| | ' 9 ' = = cadena[índice+1]){
for(int I = 0;i<((entero . parse int(cadena[índice+1] +" ")+1); i++) {
Resultado += str[index+2];
}
Índice += 2; p>
} En caso contrario {
Resultado += str[index+1];
index++
}
}
}
System.out.println(getGroup(result));
}
//Dividir en grupos de tres.
Cadena estática pública getgroup(string){
string[]r;
if(s.length()%3 == 0) { p>
r = nueva cadena [s . longitud()/3];
} En caso contrario {
r = nueva cadena [s . ];
}
Resultado de cadena = " ";
int j = 0;
for( int I = 0;i<s .length().){
if(I+3<= s.length()){
r[j]= s.substring(i, I+3) ;
j++;
I+= 3;
} En caso contrario {
r[ j]= s.substring(I);
j++;
I+= 3;
}
}
for(int I = 0; i<r . longitud-1;i++){
resultado+=(r[I]+" _ ";
}
p>resultado+= r[r . longitud-1];
Devolver resultado;
}
}