日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 代码翻译

發布時間:2023/12/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 代码翻译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:輸入一個以’@’結束的字符串,從左至右翻譯。若下一個字符是數字n(0≤n≤9),表示后一個字符重復n+1 次,不論后一個字符是否為數字;若下一個字符非數字,則表示自己。翻譯后,以3 個字符為一組輸出,組與組之間用空格分開。例如’A2B5E34FG0ZYWPQ59R@’,翻譯成’ABB_BEE_EEE_E44_44F_GZY_WPQ_999_999_R@ ’。

分析:首先直接遍歷數組把字符串按要求進行翻譯,然后將翻譯后的字符串進行分組形成字符串數組,最后把字符串數組用下劃線連接輸出。個人感覺是最笨的方法!

源代碼:

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;
}
}


總結

以上是生活随笔為你收集整理的java 代码翻译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。