1.根据你的理解,简要说明比较运算符(==)和equal()方法判断两个字符串是否相等有什么区别。
答案:equals能每个比较,==是比较标识地址
2.输入五种水果的英文名称(如葡萄grape、橘子orange、香蕉banana、苹果apple、桃peach),编写一个程序,输出这些水果的名称(按照在字典里出现的先后顺序输出)。
答案:package lesson15;
import java.util.Arrays;
import java.util.Scanner;
public class No_1 {
public static void main(String[] args) {
String[] shuiguo=new String[5];
Scanner input=new Scanner(System.in);
for (int i = 0; i < shuiguo.length; i++) {
System.out.print("请输入第"+(i+1)+"水果:");
shuiguo[i]=input.next();
System.out.println();
}Arrays.sort(shuiguo);
System.out.println("这些水果在字典中出现的顺序是:");
for (int j = 0; j < shuiguo.length; j++) {
System.out.print(shuiguo[j]+"\t");
}
}
}
3.假设中国人的姓都是单个字,请随机输入一个人的姓名,然后输入一个人的姓名,然后输出姓和名
答案:package lesson15;
public class No_2_1 {
public String xing(String xing){
return xing.substring(0,1);
}
public String ming(String ming){
return ming.substring(1);
}
}
package lesson15;
import java.util.Scanner;
public class No_2 {
public static void main(String[] args) {
No_2_1 b=new No_2_1();
Scanner input=new Scanner(System.in);
System.out.print(“请输入您的姓名”);
String a=input.next();
System.out.println(“姓氏:”+b.xing(a));
System.out.println(“名:”+b.ming(a));
}
}
4.录入用户的18位身份证号码,从中提取用户的生日。
答案:package lesson15;
public class No_3_1 {
public String shengri(String shengri){
return shengri.substring(6,13);
}
}
package lesson15;
import java.util.Scanner;
public class No_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
No_3_1 c=new No_3_1();
Scanner input=new Scanner(System.in);
System.out.print("请输入您的18位身份证号码:");
String a=input.next();
int d=0;
while(true){if(a.length()!=18){
if(d>5){
System.out.println("傻逼,身份证都不会输入");
}
d++;
System.out.print("输入错误,请输入18位身份证号码:");
a=input.next();
}else{
System.out.println("您的生日为:"+c.shengri(a));
System.exit(0);
}
}
}
}
5.编写一个字符浏览器,输入字符串及需要查找的字符或字符串,浏览器自动定位所有出现该字符或字符串的位置。
答案:package lesson15;
public class No_4_1 {
public void cha(String g,String f){
int a=0;
int b=a;
int length=g.length();
System.out.println(f+“出现的位置是:”);
do{
a=g.indexOf(f, b);
if(a==-1){
System.out.println(“没有”);
break;
}
System.out.println(a+1+"");
b=a+f.length();
}while(b<=length);
}
}
package lesson15;
import java.util.Scanner;
public class No_4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
No_4_1 a=new No_4_1();
Scanner input=new Scanner(System.in);
System.out.print("请输入一段字符");
String b=input.next();
System.out.print("请输入您想查找的字符");
String c=input.next();
a.cha(b, c);
}
}
6.对录入的信息进行有效性验证。
录入会员生日时,形式必须是“月/日”,如“09/12”。录入的密码位数必须为6~10位。允许用户重复录入,直到输入正确为止
答案:package lesson15;
import java.sql.Date;
import java.util.Scanner;
public class No_5_1 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
boolean a=true;
while(a){
System.out.println("请输入会员生日:00/00");
String b=input.next();
if(b.indexOf("/")!=2){
System.out.println("输入错误,格式为:00/00");
}else{
System.out.println(b);
a=false;
}
}a=true;
while(a){
System.out.print("请输入6-10位密码:");
String mi=input.next();
if(mi.length()<6||mi.length()>10){
System.out.println("密码不符合要求");
}else{
System.out.println("密码为:"+mi);
}
a=false;
}
}
}