我對 Java 很陌生,我有以下任務:
將字串 1 與字串 2 逐個字母進行比較,找到匹配的并用 * 替換它們。
我完全迷失了,需要一些幫助。這是我自己整理的一些代碼。
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
String str2 = sc.nextLine();
char char1 = str1.charAt(0);
char char2 = str2.charAt(0);
for(int i=0; i<str1.length();i ){
if(str2.equals(str1)){
}
}
uj5u.com熱心網友回復:
您的代碼走在正確的軌道上。我建議使用StringBuilderhere 來構建兩個替換字串:
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
String str2 = sc.nextLine();
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
for (int i=0; i < str1.length(); i ) {
char char1 = str1.charAt(i);
char char2 = str2.charAt(i);
if (char1 == char2) {
sb1.append('*');
sb2.append('*');
}
else {
sb1.append(char1);
sb2.append(char2);
}
}
System.out.println("New string1 is: " sb1.toString());
System.out.println("New string2 is: " sb2.toString());
請注意,此答案假定兩個輸入字串的長度相同。它不會嘗試對此進行檢查,也不會考慮兩個不等長字串的行為。
uj5u.com熱心網友回復:
嘗試這個。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder str1 = new StringBuilder(sc.nextLine());
StringBuilder str2 = new StringBuilder(sc.nextLine());
for (int i = 0, size = Math.min(str1.length(), str2.length()); i < size; i)
if (str1.charAt(i) == str2.charAt(i)) {
str1.setCharAt(i, '*');
str2.setCharAt(i, '*');
}
System.out.println("str1=" str1 " str2=" str2);
}
輸入:
abcdefg
cbadex
輸出:
str1=a*c**fg str2=c*a**x
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/351826.html
上一篇:使用ForkJoin的wrokstealing而不是普通執行緒池的佇列有什么好處?
下一篇:獲取唯一約束失敗:tbl_data.id(Sqlite代碼1555SQLITE_CONSTRAINT_PRIMARYKEY)錯誤在androidstudioroom
