请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。
[题目要求]
请完善程序并进行调试,使程序输出结果如下图所示。
源程序:
import javax.swing.JOptionPane;
public class Java_1 {
public static void main(String args[]) {
String s1,s2,s3,s4,output;
s1=new String("hello");
s2=new String("good bye");
s3=new String("Happy Birthday");
s4=new String("happy birthday");
output="s1="+s1+"ins2="+s2+"ins3="+s3+"ins4="+s4+"\n\n"
//测试字符串相等
if(s1.equals("hello"))output=output+" (1) ";
else output=output+"s1 does not equal\"hello\"\n":
//用==测试相等
if(s1=="hello")output+="s1 equals\"hello\"in":
else output+="s1 does not equal\"hello\"\n":
//忽略字符格式测试相等
if(s3.equalsIgnoreCase(s4))output+="s3 equals s4\n":
else output+="s3 does not equal s4\n":
//内容比较
output+="\ns1.compareTo(s2)is"+s1.compareTo(s2)+"\ns2.compareTo(s1)is"
+s2.compareTo(s1)+"\ns1.compareTo(s1)is"+s1.compareTo(s1)
+"\ns3.compareTo(s4)is"+s3.compareTo(s4)+"\ns4.compareTo(s3)is"
+s4.compareTo(s3)+”\n\n“;
//80试包含字符格式的域匹配
if(s3.regionMatehes(0,s4,0,5))output+="First 5 characters of s3 and s4 match\n":
else output+="First 5 characters of s3 and s4 do not match\n":
//忽略字符格式的域匹配
if(s3.regionMatches(true,0,s4,0,5))output+="First 5 characters of s3 and s4 match":
else output+="First 5 characters of s3 and s4 do not match":
JOptionPane. (2) (null,output,
"字符串构造方法示例",JOptionPane.INFORMATION_MESSAGE):
System.exit(0);
}
}
参考答案:showMessageDialog
解析: 用对话框输出,详细解析可参见第2套题的综合应用题。 [程序解析] 本程序主要是比较字符串,然后用对话框输出结果。涉及几个方法: (1) public boolean equals(Object anObject)——将此字符串与指定的对象比较。如果相等,则返回true;否则返回false。 (2) public boolean equalsIgnoreCase(String anotherString)——将此String与另一个String进行比较,不考虑大小写。如果两个字符串的长度相等,并且两个字符串中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。 (3) public int compareTo(String anotherString)——按字典顺序比较两个字符串。如果参数字符串等于此字符串,则返回0值;如果按字典顺序此字符串小于字符串参数,则返回一个小于0的值;如果按字典顺序此字符串大于字符串参数,则返回一个大于0的值。 (4) 用“==”比较两个字符串对象,只有指向的是同一个对象时才返回真。