作业第十五章

一简答题
1.1.根据你的理解,简要说明比较运算符(==)和equal()方法判断两个字符串是否相等有什么区别。
答:1.用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
2.
equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
3.
s1 = new String(“sony”); //创建的是字符串对象
s1.equals(“sony”); //返回true
s1 == “sony” //返回false
//如果
s1 = “sony”;
s1 == “sony” //返回true
//如果
s1 = “sony”;
s2 = “sony”;
s1.equals(s2); 或者string.equals(s1,s2);//返回true1234567891011121314151617

2.输入五种水果的英文名称(如葡萄grape、橘子orange、香蕉banana、苹果apple、桃peach),编写一个程序,输出这些水果的名称(按照在字典里出现的先后顺序输出)。
import java.util.Arrays;
import java.util.Scanner;
public class DJ15word2 {
@SuppressWarnings({ “resource”, “unused” })
public static void main(String[] args) {
String blank="";
String[] fruits=new String[5];
Scanner i=new Scanner(System.in);
for(int a=0;a<fruits.length;a++){
System.out.print(“请输入第”+(a+1)+“种水果:”);
fruits[a]=i.next();
}
Arrays.sort(fruits);
System.out.println("\n这些水果在字典中出现的顺序是:");
for(int d=0;d<fruits.length;d++){
System.out.println(fruits[d]);
}
}
}
12345678910111213141516171819202122

3.假设中国人的姓都是单个字,请随机输入一个人的姓名,然后输入一个人的姓名,然后输出姓和名。
import java.util.Scanner;
public class DJ15word3 {
@SuppressWarnings(“resource”)
public static void main(String[] args) {
String name="";
Scanner i=new Scanner(System.in);
System.out.print(“请输入任意一个姓名:”);
name=i.next();
System.out.println(“姓氏:”+name.substring(0,1)); //name.charAt(0)和substring(0,1)都可以
System.out.println(“名字:”+name.substring(1,name.length()));
}
}
123456789101112131415

4.录入用户的18位身份证号码,从中提取用户的生日。
import java.util.Scanner;
public class DJ15word4 {
@SuppressWarnings(“resource”)
public static void main(String[] args) {
Scanner i=new Scanner(System.in);
System.out.print(“请输入用户的身份证号码:”);
String id=i.next();
if(id.length()==18){
System.out.print(“该用户的生日是:”);
System.out.print(id.substring(6,10)+“年”);
System.out.print(id.substring(10,12)+“月”);
System.out.print(id.substring(12,14)+“日”);
}else{
System.out.println(“请输入正确的身份证号码!”);
}
}
}
1234567891011121314151617181920

5.编写一个字符浏览器,输入字符串及需要查找的字符或字符串,浏览器自动定位所有出现该字符或字符串的位置。
import java.util.Scanner;
public class DJ15word5 {
@SuppressWarnings(“resource”)
public static void main(String[] args) {
Scanner i=new Scanner(System.in);
System.out.print(“请输入一段字符:”);
String one=i.next();
System.out.print(“请输入要查找的字符:”);
char two=i.next().charAt(0);
System.out.print(two+“出现的位置是:”);
for(int a=0;a<one.length();a++){
if(two==one.charAt(a)){
System.out.print(a+" ");
}
}
}
}
1234567891011121314151617181920

6.对录入的信息进行有效性验证。
录入会员生日时,形式必须是“月/日”,如“09/12”。录入的密码位数必须为6~10位。允许用户重复录入,直到输入正确为止。
public class DJ15word6judge {
public String Birthday(String birthday){
String a="";
String prefix=“该会员生日是:”;
if(birthday.indexOf(’/’)!=2){
a=“生日形式输入错误!”;
}else{
a=prefix.concat(birthday);
}
return a;
}
public String Password(String password){
String b="";
String prefix=“该会员密码是:”;
if(password.length()<6||password.length()>10){
b=“密码形式输入错误!”;
}else{
b=prefix.concat(password);
}
return b;
}
}
import java.util.Scanner;
public class DJ15word6 {
@SuppressWarnings(“resource”)
public static void main(String[] args) {
DJ15word6judge l=new DJ15word6judge();
Scanner i=new Scanner(System.in);
String a="";
String b="";
do{
System.out.print(“请输入会员生日<月/日:00/00>:”);
String birthday=i.next();
System.out.println(l.Birthday(birthday));
a=l.Birthday(birthday);
}while(“生日形式输入错误!”.equalsIgnoreCase(a));
do{
System.out.print(“请输入会员密码<6~10位>:”);
String password=i.next();
System.out.println(l.Password(password));
b=l.Password(password);
}while(“密码形式输入错误!”.equalsIgnoreCase(b));
}
}

猜你喜欢

转载自blog.csdn.net/qq_43028295/article/details/82989255