【发布时间】:2014-05-12 19:52:52
【问题描述】:
编写一个程序来读取两个字符串,如果它们不区分大小写,则打印“Equal”。例如:
- 输入:代码代码
- 输出:相等
- 输入:Masr Masry
- 输出:不相等
- 输入:埃及EGYpt
- 输出:相等
注意:您应该使用循环。不要使用一些现有的方法来检查相等性。
我已经尝试了这段代码,但失败了 5 次以上 :(
import java.util.Scanner;
public class equal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
String st1=in.nextLine();
String st2=in.nextLine();
int len1=st1.length();
int len2=st2.length();
int y=1;
if(len1==len2){
char ch1=st1.charAt(0);
char ch2=st2.charAt(0);
int con1=ch1 , con2=ch2;
if(con1==con2){
for(int x=1;x<len1;x++){
char Ch1=st1.charAt(x);
char Ch2=st2.charAt(x);
if(Ch1==Ch2){
y++;
}
}
}
}
if(y==len1){
System.out.println("Equal");
}else if(y!=len1){
System.out.println("Not Equal");
}
}
}
【问题讨论】:
-
你看
Character.toLowerCase了吗? -
"你应该使用循环。不要使用一些现有的方法来检查相等性。" -1。这是完全错误的。
-
@djechlin 这家伙已经尝试了一些东西,所以让我们尝试以他的方式帮助他
-
@djechlin 如果他/她已经尝试并展示了努力(和代码),为什么不提供帮助?即使有更简单的方法(例如使用
.equalsIgnoreCase),也许作业的目的是让学生思考简单的方法在内部是如何工作的。 -
请注意,在循环中,如果您在任何时候看到两个不相等的字符,您可以返回 false,您不需要继续循环,因为您知道它们不一样。