Java程序设计上机2
1. 定义一个类,类中包含1个方法,方法1根据所输入的身份证号(18位)来进行处理,最终返回一个字符串,格式如下”尊敬的先生(女士),您是****年**月**日出生”。并且要求如果输入的身份证号中如果不是18位或者是格式不正确(包含非数字字符,最后一位X除外)则返回一个字符串“您输入的身份证号有误”。
通过JDK帮助文档来掌握subString方法的使用
注意方法头定义时要注意的问题
如何对于用户输入的身份证号进行容错处理
掌握字符串的拼接
package com.majing;
import java.util.*;
public class Identity {
public static void main(String[] args)
{
//System.out.println(annotionId("610528199605068648"));
Scanner in = new Scanner(System.in);
String identityId = in.nextLine();
System.out.println(transformId(identityId));
}
public static String transformId(String id)
{
String sex;
if(!checkInput(id))
{
System.out.println("您输入的身份证号有误");
}
if(id.charAt(16)%2 == 0)
{
sex = "女士";
}
else
{
sex = "先生";
}
return "尊敬的"+sex+",您是"+id.substring(6,10)+"年"+id.substring(10,12)+"月"+id.substring(12,14)+"日出生";
}
private static boolean checkInput(String id)
{
if(id.length() != 18)
{
return false;
}
for(int i = 0;i < id.length()-1;i++)
{
if(id.charAt(i) < '0' || id.charAt(i) > '9')
{
return false;
}
}
return true;
}
}
2. 定义一个书籍类,该类至少5个属性(类型自己定义)和一个构造方法,重写equals方法(该方法通过5个属性的值来比较两个该类对象是否相等)。
掌握属性定义的格式
学习构造方法的定义,构造方法的作用是什么?
理解equals方法的作用
package com.majing;
public class test {
public static void main(String[] args) {
Book b1 = new Book("Java","传智播客","清华大学",44.50f,27.75);
Book b2 = new Book("Java","传智播客","清华大学",44.50f,27.75);
System.out.println(b1.equals(b2));
}
}
class Book
{
private String name; //书名
private String author; //作者
private String bookConcern; //出版社
private float price; //价格
private double sheet; //印张
public Book(String na, String au)
{
name = na;
author = au;
}
public Book(String na, String au, String bc, float pr, double st)
{
this(na,au);
bookConcern = bc;
price = pr;
sheet = st;
}
public boolean equals( Book b2)
{
if(this.name == b2.name &&
this.author == b2.author &&
this.bookConcern == b2.bookConcern &&
this.price == b2.price &&
this.sheet == b2.sheet)
return true;
return false;
}
}