没有翻译软件,但是能编写翻译程序。
java 代码翻译实例:
1.输入一个以’@’结束的字符串,从左至右翻译。若下一个字符是数字n(0≤n≤9),表示后一个字符重复n+1 次,不论后一个字符是否为数字;若下一个字符非数字,则表示自己。
2.翻译后,以3 个字符为一组输出,组与组之间用空格分开。
例如’A2B5E34FG0ZYWPQ59R@’,翻成’ABB_BEE_EEE_E44_44F_GZY_WPQ_999_999_R@ ’。
3.分析:首先直接遍历数组把字符串按要求进行翻译,然后将翻译后的字符串进行分组形成字符串数组,最后把字符串数组用下划线连接输出。
java翻译源代码:
import java.util.Scanner;
public class Main5{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
int length = s.length();
String result = "";
char[] str = new char[length]
for (int i = 0; i < length; i++) {
str[i] = s.charAt(i);
}
result += str[0];
if (str[length - 1] != '@') {
System.out.println("输入有误!");
} else {
for (int index = 0; index < length - 1;) {
if ('0' == str[index + 1] || '1' == str[index + 1] || '2' == str[index + 1] || '3' == str[index + 1]
|| '4' == str[index + 1] || '5' == str[index + 1] || '6' == str[index + 1]
|| '7' == str[index + 1] || '8' == str[index + 1] || '9' == str[index + 1]) {
for (int i = 0; i < ((Integer.parseInt(str[index + 1]+"")) + 1); i++) {
result += str[index + 2];
}
index += 2;
} else {
result += str[index + 1];
index++;
}
}
}
System.out.println(getGroup(result));
}
//每3个分一组
public static String getGroup(String s){
String[] r;
if(s.length()%3 == 0){
r = new String[s.length()/3];
}else{
r = new String[s.length()/3+1];
}
String result = "";
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;
}else{
r[j] = s.substring(i);
j++;
i += 3;
}
}
for(int i=0;i<r.length-1;i++){
result += (r[i]+"_");
}
result += r[r.length-1];
return result;
}
}