- 浏览: 42122 次
- 性别:
- 来自: 武汉
文章分类
最新评论
身份证:18位判断数,15位的转换成18位,把地区码提出来SourceString把年月日提取出来,输出你是男生还是女生,判断校验码是否正确 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码(最后一位如果为奇数,代表男生,偶数代表女生)和一位数字校验码。
1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
2、将这17位数字和系数相乘的结果相加
3、用加出来和除以11,看余数是多少?
4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。
5、通过上面得知如果余数是2,身份证的最后一位号码就是罗马数字2。如果余数是10,就会在身份证的第18位数字上出现的是X。
例如:某男性的身份证号码是34052419800101001X。我们要看看这个身份证是不是合法的身份证。
首先我们得出前17位的乘积和是189,然后用189除以11得出的结果是17+2/11,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的是罗马数字X。所以,可以判定这是一个合格的身份证号码。
public class 身份证 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String 身份证="34052419800101001X";
if(身份证.length()!=18){
System.out.println("你输入的身份证不是18位的");
}
else{
System.out.println("你输入的身份证是18位的");
}
System.out.println("区号为"+身份证.substring(0,6));
System.out.println("年"+身份证.substring(6,10)+"月"+身份证.substring(10,12)+"日"+身份证.substring(12,14));
System.out.println("顺序码"+身份证.substring(14,17));
int a[]=new int[18];
for(int i=0;i<17;i++){
a[i]=Integer.parseInt(身份证.substring(i, i+1));
}
if(a[16]%2==0){
System.out.println("你是女生");
}
else{
System.out.println("你是男生");
}
int b[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char c[]={'1','0','x','9','8','7','6','5','4','3','2'};
int ct=0;
for(int i=0;i<17;i++){
ct=ct+a[i]*b[i];
}
ct=ct%11;
System.out.println("你的身份证的最后一位是"+c[ct]);
}
}
money
class money{
public static void main (String args[]) {
int i,j,l,d;
int c=146;
i=c/100;
j=(c%100)/20;
d=(c%10)/5;
l=(c%10)-5*d;
System.out.println("1元"+i+"个");
System.out.println("2角"+j+"个");
System.out.println("5分"+d+"个");
System.out.println("1分"+l+"个");
}
}
1.分别使用while语句、for循环完成100以内数的求和
2.利用循环语句编程,找出所有的水仙花数并输出。其中水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371就是一个水仙花数。
(控制结构)(if...else 语句)构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:一 能被4 整除,但不能被100 整除;二能被400 整除。
public class Demo2_6 {
public static void main(String args[]) {
int year=2005;
if ((year%4==0 && year%100!=0) || (year%400==0)) //
System.out.println(year+" 年是闰年");
else
System.out.println(year+" 年不是闰年");
}
}
(switch 语句)在不同温度时显示不同的解释说明。
public static void main(String args[]) {
int c=28;
switch (c/10) {
case 1:
System.out.println(" "+c+"℃ 有点冷。要多穿衣服。");
case 2:
System.out.println(" "+c+"℃ 正合适。出去玩吧。");
case 3:
System.out.println(" "+c+"℃ 有点热。");
default:
System.out.println(" "+c+"℃ 太热了!开空调。");
}
}
}
(for 循环语句练习)按5 度的增量打印出一个从摄氏温度到华氏温度的转换表。
class Demo2_8{
public static void main (String args[]) {
int h,c;
System.out.println("摄氏温度 华氏温度");
for (c=0; c<=40; c+=5) {
h=c*9/5+32;
System.out.println(" "+c+" "+h);
}
}
}
运行结果:摄氏温度 华氏温度
0 32
5 41
10 50
15 59
20 68
25 77
30 86
35 95
40 104
(do…while 循环语句)求1+2+…+100 之和,并将求和表达式与所求的和显示出来
class Demo2_10 {
public static void main(String args[]) {
int n=1, sum=0;
do {
sum+=n;
n++;
}while (n<=100);
System.out.println("1+2+...+100 ="+sum);
}
}
运行结果:1+2+...+100 =5050
输出完成(耗时0秒)- 正常终止
1、定义一个“圆”类Circle,该圆类的属性包括:圆心点位置及圆的半径;方法有:设置圆心位置和半径的方法,获取圆心位置和半径的方法及构造方法。要求构造方法可以接收圆心位置参数,而半径使用缺省值0。编写完整的程序并创建Circle类的对象,并设置圆心为(0,0),半径为1.5,打印并显示圆的面积。
class cy {
private int radius;
cy(int r) {
setRadius(r);
}
public void setRadius(int r) {
radius=r;
}
public int getRadius() {
return radius;
}
public double area() {
return 3.14159*radius*radius;
}
public String toString() {
return "圆半径:"+getRadius()+" 圆面积:"+area();
}
}
public class shiyan3{
public static void main(String args[]){
cy c=new cy(10);
System.out.println("\n"+c.toString());
}
}
2(1) sin(30°)
(2) 2.73的向上取整、向下取整、四舍五入值(ceil, floor,round)
(3) 36的平方、平方根(sqrt,pow)
(4) 产生10个-20到40之间的随机数
import java.math.*;
import java.util.Random;
public class qy {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(Math.sin(Math.toRadians(30)));
System.out.println(Math.ceil(2.73));
System.out.println(Math.floor(2.73));
System.out.println(Math.round(2.73));
System.out.println(Math.sqrt(36));
System.out.println(Math.pow(36, 2));
for(int i=0;i<10;i++){
System.out.println((int) (Math.random()*60-20));
}
}
}
3. 通过shiyan类产生子类shiyan2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。在程序中调用了父类的print 方法,同时可以看出子类也具有该方法。
创建将被继承的类
public class shiyan
{
protected String xm; //具有保护修饰符的成员变量
protected int xh;
void setdata(String m,int h) //设置数据的方法
{
xm =m;
xh = h;
}
public void print() //输出数据的方法
{
System.out.println(xm+", "+xh);
}
}
创建将被继承的类
class shiyan2 extends shiyan{
protected String xy;
protected String xi;
public static void main(String args[]){
shiyan p1 = new shiyan();
p1.setdata("李四",12321) ;
p1.print();
shiyan2 s1 = new shiyan2() ;
s1.setdata("张三",12345); //调用父类的成员方法
s1.xy="成都信息工程学院"; //访问本类的成员变量
s1.xi="计算机系"; //访问本类的成员变量
s1.print();
System.out.print(s1.xm+", "+s1.xy+", "+s1.xi);
}
}
运行结果:
李四,12321
张三,12345
张三,成都信息工程学院,计算机系
输出完成(耗时0秒)- 正常终止
4.程序功能:说明this、super 和super()的用法。程序首先定义Point(点)类,然后创建点的子类Line(线)。最后通过LX3_10 类输出线段的长度。程序中通过super(a,b)调用父类Point 的构造方法为父类的x 和y 赋值。在子类Line 的setLine方法中,因为参数名和成员变量名相同,为给成员变量赋值,使用this 引用,告诉编译器是为当前类的成员变量赋值。在length 和toString 方法中使用父类成员变量时,使用super 引用,告诉编译器使用的是父类的成员变量。
class Point {
protected int x, y;
Point(int a, int b) {
setPoint(a, b);
}
public void setPoint(int a, int b) {
x=a;
y=b;
}
}
class Line extends Point {
protected int x, y;
Line(int a, int b) {
super(a, b);
setLine(a, b);
}
public void setLine(int x, int y) {
this.x=x+x;
this.y=y+y;
}
public double length() {
int x1=super.x, y1=super.y, x2=this.x, y2=this.y;
return Math.sqrt((x2-x1) * (x2-x1) + (y2-y1) * (y2-y1));
}
public String toString() {
return "直线端点:[" + super.x + "," + super.y + "] [" +
x + "," + y + "] 直线长度:" + this.length();
}
}
public class shiyan4{
public static void main(String args[]) {
Line line=new Line(50, 50);
System.out.println("\n"+line.toString());
}
}
运行结果:直线端点:[50,50] [100,100]直线长度;70.7106781184
输出完成(耗时0秒)- 正常终止
通过继承子类可以继承父类中所有可以被子类访问的成员方法,但如果子类的方法与父类方法同名,则不能继承,此时称子类的方法覆盖了父类的方法,简称为方法覆盖(override),方法覆盖为子类提供了修改父类成员方法的能力。编写覆盖Object 类toString方法的程序文件EXP3_9.java
class Circle {
private int radius;
Circle(int r) {
setRadius(r);
}
public void setRadius(int r) {
radius=r;
}
public int getRadius() {
return radius;
}
public double area() {
return 3.14159*radius*radius;
}
public String toString() {
return "圆半径:"+getRadius()+" 圆面积:"+area();
}
}
public class EXP3_9{
public static void main(String args[]) {
Circle c=new Circle(10);
System.out.println("\n"+c.toString());
}
}
运行结果:圆半径:10 圆面积:314.16
输出完成(耗时0秒)- 正常终止
Sy4:下面给出一个根据雇员类型利用多态性完成工资单计算的程序。定义一个抽象类Employee作为父类,其中含有属性name,并由一个构造方法用以设置name的值。Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、PieceWorker(按其生产的产品数以及产品单价发放工资)、HourlyWorker(根据工作时间长短发放工资)。对所有雇员类型都使用Employee类中定义的抽象方法earnings()完成其工资单的计算,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从父类Employee派出生的。所以在父类中声明earnings()方法,该方法没有实质性工作,而是在每个子类都提供恰当的earnings()方法的重写。请设置boss的名字为bill 周薪为1000,pieceworker的名字为damon,生产的产品为500,产品单价为1.5,hourlyworker的名字为ketty,每周工作40小时,每小时薪水为20。最后打印每个雇员每周的工资单。
创建父类Employee
class Employee{
private String Name;
public Employee(String s){
Name=s;
}
public String getEmployeeName(){
return Name;
}
public String toStrings(){
return Name;
}
public double earnings(){
System.out.println("Employ's salary is 0.0");
return 0.0;
}
}
创建子类BOSS
class boss extends Employee{
private double weeklySalary;
public boss(String first,double s){
super(first);
setWeeklySalary(s);
}
public void setWeeklySalary(double s){
weeklySalary=(s>0?s:0);}
public double earnings(){
return weeklySalary;
}
public String toStrings(){
return "Boss: "+super.toStrings();
}
}
创建子类HourlyWorker
class HourlyWorker extends Employee{
private double wage;
private double hours;
public HourlyWorker(String first,double w,double h) {
super(first);
setWage(w);
setHours(h);
}
public void setWage (double w){
wage=(w>0?w:0);
}
public void setHours(double h){
hours=(h>=0&&h<168?h:0);
}
public double earnings(){
return wage*hours;
}
public String toStrings(){
return "HourlyWorker: "+super.toStrings();
}
}
创建子类PieceWorker
class PieceWorker extends Employee{
private double wagePiece;
private int quantity;
public PieceWorker(String first,double w,int q){
super(first);
setWage(w);
setQuantity(q);
}
public void setWage(double w){
wagePiece=(w>0?w:0);
}
public void setQuantity(int q){
quantity=(q>0?q:0);
}
public double earnings(){
return quantity*wagePiece;
}
public String toStrings(){
return "PieceWoeker: "+super.toStrings();
}
}
创建子类TestEmployee
public class TestEmployee{
public static void main(String args[ ]){
//使用超类声明ref
Employee ref; String out="";
//分别定义各子类
boss b=new boss("bill",1000);
PieceWorker p=new PieceWorker("damon",2.5,200);
HourlyWorker h=new HourlyWorker("Karen",13.75,40);
//使用子类分别实例化
ref=b;
System.out.print(ref.toStrings()+"earned $"+ref.earnings()+"\n");
ref=p;
System.out.print(ref.toStrings()+"earned $"+ref.earnings()+"\n");
ref=h;
System.out.print(ref.toStrings()+"earned $"+ref.earnings()+"\n");
}
}
(使用类的成员变量来表示事物的属性和状态,使用类的成员方法来提供对成员变量的访问或修改)
设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。其中类的初始化采用构造函数进行描述。
qv.java
package jing;
public class qv {
String ownerName; //车主姓名
double curSpeed; //当前车速
double curDirInDegree; //当前方向盘转向角度
public qv(String ownerName){
this.ownerName=ownerName;//注意this引用
}
public qv(String ownerName, double speed, double dirInDegree){
this.ownerName=ownerName;
this.curSpeed=speed;
this.curDirInDegree=dirInDegree;
}
public String getOwnerName() { //提供对车主姓名的访问
return ownerName;
}
public double getCurDirInDegree() { //提供对当前方向盘转向角度的访问
return curDirInDegree;
}
public double getCurSpeed() { //提供对当前车速的访问
return curSpeed;
}
public void changeSpeed(double curSpeed) { //提供改变当前的车速
this.curSpeed = curSpeed;
}
public void stop(){ //提供停车
this.curSpeed=0;
}
}
yan.java
package jing;
public class yan {
public static void main(String[] args){
qv car=new qv("成龙",200f,25f);
System.out.println("车主姓名: "+car.getOwnerName());
System.out.println("当前车速: "+car.getCurSpeed());
System.out.println("当前转向角度: "+car.getCurDirInDegree());
car.changeSpeed(80);
System.out.println("在调用changeSpeed(80)后,车速变为: " + car.getCurSpeed());
car.stop();
System.out.println("在调用stop()后, 车速变为: "+car.getCurSpeed());
}
}
运行结果:车主姓名:成龙
当前车速:200.0
当前转向角度:25.0
在调用changeSpeed(80)后,车速变为:80.0
在调用stop()后,车速变为:0.0
发表评论
-
JAVA设计模式之工厂模式
2012-05-11 17:33 848JAVA设计模式之工厂模式 一、工厂模式的介绍 工厂 ... -
一劳永逸的数据库编码解决方案
2011-11-02 09:24 842一劳永逸的数据库编 ... -
ANT 自动编译打包发布卸载脚本
2010-12-03 10:04 1334网上看了很多此类脚本,要不就是太简单,要不就是太复杂 ... -
JDBC查询
2010-10-27 11:25 1843BaseDB类: package com.framework ... -
MyEclipse7.5详细优化+快捷键的使用
2010-05-25 11:09 1443相信大家在启动MyEclipse的时候都很慢,很烦有没有让他更 ... -
Log4j基本使用方法
2010-05-18 10:51 702Log4j由三个重要的组件 ... -
java与c#中二维数组的区别
2010-05-18 10:43 1004java与c#中二维数组的区别[color=green][/c ...
相关推荐
这个"JAVA综合实验2聊天室"项目旨在让学生理解网络编程的基本原理,特别是如何利用Java实现客户端和服务器之间的通信,以及如何设计多用户交互的系统。下面,我们将详细分析这个项目的各个方面。 首先,Java是一种...
在Java综合面试中,面试官通常会考察应聘者的语法基础、面向对象编程理解、内存管理、多线程、集合框架、IO流、网络编程、异常处理、JVM原理、设计模式以及数据库操作等多方面技能。以下是对这些知识点的详细说明: ...
在本Java综合性实验中,我们将深入探讨Java编程语言的核心概念以及如何进行代码分析。这个实验涵盖了从基础到高级的多个Java知识点,旨在提升对Java语言的理解和应用能力。 首先,让我们关注"JavaCodeAnalyzer.jar...
Java综合课程设计是一门深入学习Java编程语言的实践性课程,旨在通过实际项目来提升学生的编程能力和问题解决能力。在这个课程设计中,学生通常会接触到多个领域的应用,例如基础的计算器程序、学生管理系统以及简单...
【标题】"java综合实验代码+报告.rar"涵盖了面向对象编程的核心概念,主要基于Java语言进行深入学习和实践。这个压缩包包含了一份完整的Java实验代码和相应的实验报告,旨在帮助学习者理解并掌握Java编程的基本原理...
Java综合设计实验报告通常涵盖了Java编程语言的核心概念和高级特性,以及如何将这些知识应用于实际项目中。在这样的实验报告中,学生会展示他们的编程技巧,解决问题的能力,以及对面向对象编程的理解。以下是对这份...
在"JAVA综合实验.计算器"项目中,我们将运用这些特性来创建一个实用的计算工具。 面向对象编程(OOP)是Java的核心概念,它基于类和对象。在这个计算器实验中,我们将定义不同的类,比如`Calculator`、`Button`和`...
Java综合测评系统是一种基于Java编程语言开发的软件应用,它主要用于测试、评估和学习Java编程技能。这个系统可能包含了各种功能,例如编程题目的提供、代码自动评测、成绩统计、学习资源分享等,旨在为教育机构、...
总的来说,这个Java综合性实验覆盖了Web开发的关键技术,锻炼了学生的实际开发能力,使其能将理论知识应用于实际项目,同时也强调了代码组织和框架的使用,对于提升Java开发基础非常有益。通过这样的实践,学生不仅...
java综合练习要求pdf格式, 大家可以参考测一下自己的java水平
《Java综合经典实例大全》是Java编程学习的重要资源,它包含了一系列丰富且具有代表性的实例,旨在帮助开发者深入理解和熟练运用Java语言。本资源主要针对Java编程初学者和有一定经验的开发者,通过实际操作和实践,...
Java综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zip Java综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zip Java综合性实验-魔板游戏.zipJava综合...
《JAVA综合教务系统发布子系统的设计与实现》是一篇深度探讨如何构建高效、稳定且易用的教务管理系统的技术文章。在这个系统中,JAVA语言作为主要开发工具,以其强大的面向对象特性和丰富的库支持,为教务管理的信息...
在本项目中,"学生管理系统Java综合练习" 是一个典型的后端开发练习,它涵盖了Java编程语言的基础知识以及面向对象的设计原则。这个练习旨在帮助学习者巩固Java编程技能,并通过实现一个具体的应用来理解如何运用...
【Java综合性实验——学生考试成绩分析系统】 在Java编程领域,综合性实验是提升技能和深入理解编程概念的重要途径。这个“JAVA综合性实验(华农)”项目,旨在帮助学习者实践利用Java语言开发一个学生考试成绩分析...
【Java综合实验指导】 在Java编程的学习过程中,综合实验是一个重要的环节,它旨在提升学生对Java语言的理解和应用能力。"java综合实验指导.rar"这个压缩包文件包含了两个关键文档,分别为"Java程序设计B实验报告...
编写一个Java应用程序,实现对某个目录中的所有Java源程序文件(包含该目录的子目录中的源程序文件)进行统计。统计内容包括: (1) 目录中每个源程序文件的总行数和空白行数,文件的字节数; (2) 目录中所有源程序...
这个Java综合性实验主要涉及到学生考试成绩的分析程序,它利用了Java编程语言的强大功能,结合图形用户界面(GUI)来实现数据的可视化处理。实验的核心是通过编程软件Eclipse进行开发,这是一款广泛使用的Java集成...
【Java综合实践——学生成绩查询系统】是一个典型的后端开发项目,主要使用Java语言进行构建,用于实现对学生考试成绩的存储、查询和管理功能。在这个项目中,开发者可能运用了Java的基础语法、面向对象编程思想以及...
【Java综合程序设计-计算器-实验报告】 在本次实验中,学生被要求设计一个简易计算器,涵盖运算符优先级,以提升对Java编程语言和图形用户界面(GUI)的理解。这个设计旨在巩固理论知识,增强实际编程技能,并培养...