問題描述 :
志明跟春嬌是班上的一對情侶,他們有寫交換日記來打發時間的習慣,為了
防止他們寫的內容被幫忙傳的同學偷看,或者是不小心被老師沒收,而曝光了裡
面寫的東西,他們想到了一個辦法,就是把內容的所有字母都往後數幾次的字母
替代,而往後數幾次的數目就寫在內容的下一行。但是,問題來了,春嬌覺得每
次寫完都要再數來數去的轉化成「加密」格式,實在是太麻煩了。但又礙於不想
被輕易的看到內容,於是她拜託你寫個程式幫忙她可以直接把寫好的內容轉化成
「加密」的型態。加密結果不會影響原字母的大小寫,且數字部分亦作相同處理,
但不處理符號及特殊字元及中文。
輸入說明:
第一行為想輸入的內容,不超過 100 個字元。
第二行為打完你想輸入的內容之後,換行輸入你想要往後替代的數目。
輸出說明:
印出轉換後的句子,最後必須有換行字元。
範例:
Sample Input: Sample Output:
How are you? 123 Jqy ctg aqw? 345
2
就像寫C一樣ascii碼轉換一下就好了
程式碼:
import java.util.Scanner;
public class ITSA50_1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
int n=sc.nextInt();
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
int num=(int)ch;
if(num>=48&&num<=57){
num+=n;
num=num>57?num-10:num;
}else if(num>=65&&num<=90){
num+=n;
num=num>90?num-26:num;
}else if(num>=97&&num<=122){
num+=n;
num=num>122?num-26:num;
}
System.out.print((char)num);
}
System.out.println();
}
}
沒有留言:
張貼留言