Java编程 急急急啊 在线等

从控制台读取一个10个字符的字符串。将输入的字符串与给定的字符串“bacdbcabca”比较,计数输出
在同一位置相同字符的个数;然后用“@”替换在这两个字符串中不同的字符,输出原字符串和替换后的新字符串。

拜托尽量简单一点~~

第1个回答  2014-11-14
import java.util.*;

public class PhoneKeypad {
public static void main(String[] args){
System.out.print("Enter a string: ");
Scanner input = new Scanner(System.in);

String phNumber = input.next();
String output = "";
for(int i = 0 ; i < phNumber.length() ; i++){
char ch = Character.toUpperCase(phNumber.charAt(i));
if(Character.isLetter(ch)){
int digit = getNumber(ch);
output = output + digit;
}
else{
output = output + ch;
}
}
System.out.println(output);
}
public static int getNumber(char upperCaseLetter){
if(upperCaseLetter == 'A' || upperCaseLetter == 'B'
|| upperCaseLetter == 'C')
return 2;
else if(upperCaseLetter == 'D' || upperCaseLetter =='E'
|| upperCaseLetter == 'F')
return 3;
else if(upperCaseLetter == 'G' || upperCaseLetter =='H'
|| upperCaseLetter == 'I')
return 4;
else if(upperCaseLetter == 'J' || upperCaseLetter =='K'
|| upperCaseLetter == 'L')
return 5;
else if(upperCaseLetter == 'M' || upperCaseLetter =='N'
|| upperCaseLetter == 'O')
return 6;
else if(upperCaseLetter == 'P' || upperCaseLetter =='Q'
|| upperCaseLetter == 'R')
return 7;
else if(upperCaseLetter == 'S' || upperCaseLetter =='T'
|| upperCaseLetter == 'U')
return 8;
else if(upperCaseLetter == 'V' || upperCaseLetter =='W'
|| upperCaseLetter == 'Y' || upperCaseLetter == 'Z')
return 9;
else
return 0;
}
}
是否可以解决您的问题?
第2个回答  推荐于2016-02-06
import java.util.Scanner;
public class Test62 {
public static void main(String[] args){
Scanner s=new Scanner(System.in);
String src=s.next().substring(0,10);
String dest="bacdbcabca";
int count=0;
String result="";
for(int i=0;i<src.length();++i){
if(src.charAt(i)==dest.charAt(i)){
count++;
result+=src.charAt(i);
}
else
result+='@';
}
System.out.println("原字符串:"+src);
System.out.println("替换后:"+result);
}
}


Have Fun!

本回答被提问者和网友采纳