Java作业 第十五章

  • 课后作业
    1.根据你的理解,简要说明使用比较运算符(==)和equals()方法判断两个字符串是否相等有什么区别?

答案:
1.==用于比较引用和比较基本数据类型时具有不同的功能:比较基本数据类型,如果两个值相同,则结果为true而在比较引用时,如果引用指向内存中的同一对象,结果为true
2.equals方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写

2.输入五种水果的英文名称(如葡萄grape,橘子orange,香蕉banana,苹果apple,桃peach),编写一个程序,输出这些水果的名称(按照在字典里出现的先后顺序输出)
代码如下:

import java.util.Arrays;
import java.util.Scanner;
public class Fruitage {	
	/*
	Java中Arrays工具可以简单高效的进行字符串排序,没有冒泡排序那么麻烦
	只需调用Arrays类的Sort方法就可以了
	如:Arrays.sort(fruits);	

	*/
	// 定义用户输入数据的个数,修改此值可以修改个数及数据接收数组的大小
	public static final int COUNT = 5;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 定义接收用户输入数据的数组
		String[] fruits = new String[COUNT];
		Scanner reader = new Scanner(System.in);
		// 接收用户输入的数据
		for (int i = 0; i < 5; i++) {
			System.out.print("请输入" + (i + 1) + "个水果的英文名字:");
			fruits[i] = reader.next();
		}
		reader.close();
		Arrays.sort(fruits);		//java工具类
		// 输出排序后的数组,即为字典中的出现顺序
		System.out.println("\n这些水果的英文名在字典中出现的顺序是:");
		for (int i = 0; i < COUNT; i++) {
			System.out.print(fruits[i] +"\n");
		}
		System.out.println();
	}
}

运行结果如下:
Java作业 第十五章_第1张图片
3.假设中国人的姓都是单个字,请随机输入一个人的姓名,然后输出姓和名
代码如下:

import java.util.*;
public class user {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner (System.in);
		System.out.print("请输入任意一个姓名:");
		String name = input.next();
		System.out.println("姓氏:"+name.substring(0,1));
		System.out.println("名字:"+name.subSequence(1, name.length()));
	}

}

运行结果:
Java作业 第十五章_第2张图片
4.录入用户的18位身份证号码,从中提取用户的生日
代码如下:

import java.util.*;
public class Year {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner (System.in);
		System.out.print("请输入用户的身份证号码:");
		String num = input.next();
		if (num.length() == 18) {
		int a = 6;	//身份证字符串截取起点
		String year = num.substring(a,a+4);		//截取年份
		String mon  = num.substring(a+4,a+6);	//截取月份
		String day = num.substring(a+6,a+8);	//截取日
	System.out.println("\n该用户生日是:"+year+"年"+mon+"月"+day+"日");
	if(num.charAt(16)%2 == 0)
	{
	System.out.println("您的性别是女性!");
	}else{
	System.out.println("您的性别是男性!");
	}
	} else {
	System.out.println("您输入的身份证错误!");
	}
	}
}

5.编写一个字符浏览器,输入字符串及要查找的字符或字符串,浏览器自动定位出所有出现该字符或字符串的位置
代码如下:

import java.util.Scanner;
public class zifu {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一段字符:");
		String ae = input.next();
		System.out.println("请输入要查询的字符串:");
		char pr = input.next().charAt(0);
		System.out.print(pr + "出现的位置是:");
		for (int i = 0; i < ae.length(); i++) {
			if (pr == ae.charAt(i)) {
				System.out.print(i + "  ");
			}
		}
	}
}

运行结果如下:
Java作业 第十五章_第3张图片
6.对录入信息进行有效性验证
录入会员生日时,形式必须是"月/日",如"9/12",录入密码的位数必须是6~10位,允许用户重复录入,直到输入正确为止
代码如下:

public class Member {				//校验类
	public String Birthday(String day) {	 // 校验生日有效性的方法
		String i = "";
		String prefix = "该会员生日是:";
		if (day.indexOf('/') != 2) {
			// 提示生日形式输入错误
			i = "生日形式输入错误!";
		} else {
			i = prefix.concat(day);
		}
		return i;
	}

	public String Password(String pwd) {	//校验录入密码有效性的方法
		String j = "";
		String prefix = "该会员密码是:";
		if (pwd.length() < 6 || pwd.length() > 10) {
			//提示密码形式输入错误!
			j = "密码形式输入错误!";
		} else {
			j = prefix.concat(pwd);
		}
		return j;
	}
}
import java.util.Scanner;
public class MemberTest {			//会员信息测试类
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input  = new Scanner (System.in);
		Member l = new Member();
		String a = "";
		String b="";
		do {
			  System.out.print("请输入会员生日<月/日:00/00>:");
	            String birthday=input.next();
	            System.out.println(l.Birthday(birthday));
	            a=l.Birthday(birthday);
	        }while("生日形式输入错误!".equalsIgnoreCase(a));
	        do{
	            System.out.print("请输入会员密码<6~10位>:");
	            String password=input.next();
	            System.out.println(l.Password(password));
	            b=l.Password(password);
	        }while("密码形式输入错误!".equalsIgnoreCase(b));
	    }

}

运行结果如下:
Java作业 第十五章_第4张图片

你可能感兴趣的:(Java作业 第十五章)