`

java 综合

    博客分类:
  • Java
 
阅读更多

身份证:18位判断数,15位的转换成18位,把地区码提出来SourceString把年月日提取出来,输出你是男生还是女生,判断校验码是否正确 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码(最后一位如果为奇数,代表男生,偶数代表女生)和一位数字校验码。

1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7910584216379105842

2、将这17位数字和系数相乘的结果相加

3、用加出来和除以11,看余数是多少?

4、余数只可能有01234567891011个数字。其分别对应的最后一位身份证的号码为10X 98765432   

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+13371就是一个水仙花数。

 

 

 

 

 

(控制结构)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 语句)在不同温度时显示不同的解释说明。

class Demo2_7{

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

dowhile 循环语句)求12+…+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类的对象,并设置圆心为(00),半径为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-2040之间的随机数

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.程序功能:说明thissuper 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 周薪为1000pieceworker的名字为damon,生产的产品为500,产品单价为1.5hourlyworker的名字为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综合实验2聊天室

    这个"JAVA综合实验2聊天室"项目旨在让学生理解网络编程的基本原理,特别是如何利用Java实现客户端和服务器之间的通信,以及如何设计多用户交互的系统。下面,我们将详细分析这个项目的各个方面。 首先,Java是一种...

    java综合面试题 java综合面试题

    在Java综合面试中,面试官通常会考察应聘者的语法基础、面向对象编程理解、内存管理、多线程、集合框架、IO流、网络编程、异常处理、JVM原理、设计模式以及数据库操作等多方面技能。以下是对这些知识点的详细说明: ...

    Java综合性实验----------

    在本Java综合性实验中,我们将深入探讨Java编程语言的核心概念以及如何进行代码分析。这个实验涵盖了从基础到高级的多个Java知识点,旨在提升对Java语言的理解和应用能力。 首先,让我们关注"JavaCodeAnalyzer.jar...

    java综合课程设计

    Java综合课程设计是一门深入学习Java编程语言的实践性课程,旨在通过实际项目来提升学生的编程能力和问题解决能力。在这个课程设计中,学生通常会接触到多个领域的应用,例如基础的计算器程序、学生管理系统以及简单...

    java综合实验代码+报告.rar

    【标题】"java综合实验代码+报告.rar"涵盖了面向对象编程的核心概念,主要基于Java语言进行深入学习和实践。这个压缩包包含了一份完整的Java实验代码和相应的实验报告,旨在帮助学习者理解并掌握Java编程的基本原理...

    java综合设计实验报告

    Java综合设计实验报告通常涵盖了Java编程语言的核心概念和高级特性,以及如何将这些知识应用于实际项目中。在这样的实验报告中,学生会展示他们的编程技巧,解决问题的能力,以及对面向对象编程的理解。以下是对这份...

    JAVA综合实验.计算器

    在"JAVA综合实验.计算器"项目中,我们将运用这些特性来创建一个实用的计算工具。 面向对象编程(OOP)是Java的核心概念,它基于类和对象。在这个计算器实验中,我们将定义不同的类,比如`Calculator`、`Button`和`...

    JAVA综合测评系统可以运行

    Java综合测评系统是一种基于Java编程语言开发的软件应用,它主要用于测试、评估和学习Java编程技能。这个系统可能包含了各种功能,例如编程题目的提供、代码自动评测、成绩统计、学习资源分享等,旨在为教育机构、...

    《软件开发基础(Java)》实验报告-Java综合性实验.docx

    总的来说,这个Java综合性实验覆盖了Web开发的关键技术,锻炼了学生的实际开发能力,使其能将理论知识应用于实际项目,同时也强调了代码组织和框架的使用,对于提升Java开发基础非常有益。通过这样的实践,学生不仅...

    java综合练习要求

    java综合练习要求pdf格式, 大家可以参考测一下自己的java水平

    Java综合经典实例大全

    《Java综合经典实例大全》是Java编程学习的重要资源,它包含了一系列丰富且具有代表性的实例,旨在帮助开发者深入理解和熟练运用Java语言。本资源主要针对Java编程初学者和有一定经验的开发者,通过实际操作和实践,...

    Java综合性实验-魔板游戏.zip

    Java综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zip Java综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zipJava综合性实验-魔板游戏.zip Java综合性实验-魔板游戏.zipJava综合...

    JAVA综合教务系统发布子系统的设计与实现

    《JAVA综合教务系统发布子系统的设计与实现》是一篇深度探讨如何构建高效、稳定且易用的教务管理系统的技术文章。在这个系统中,JAVA语言作为主要开发工具,以其强大的面向对象特性和丰富的库支持,为教务管理的信息...

    JAVA综合性实验(华农)代码以及JAR包

    【Java综合性实验——学生考试成绩分析系统】 在Java编程领域,综合性实验是提升技能和深入理解编程概念的重要途径。这个“JAVA综合性实验(华农)”项目,旨在帮助学习者实践利用Java语言开发一个学生考试成绩分析...

    java综合实验指导.rar

    【Java综合实验指导】 在Java编程的学习过程中,综合实验是一个重要的环节,它旨在提升学生对Java语言的理解和应用能力。"java综合实验指导.rar"这个压缩包文件包含了两个关键文档,分别为"Java程序设计B实验报告...

    java综合性实验-对某个目录中的所有Java源程序文件统计

    编写一个Java应用程序,实现对某个目录中的所有Java源程序文件(包含该目录的子目录中的源程序文件)进行统计。统计内容包括: (1) 目录中每个源程序文件的总行数和空白行数,文件的字节数; (2) 目录中所有源程序...

    Java综合性实验 - 学生考试成绩分析程序

    这个Java综合性实验主要涉及到学生考试成绩的分析程序,它利用了Java编程语言的强大功能,结合图形用户界面(GUI)来实现数据的可视化处理。实验的核心是通过编程软件Eclipse进行开发,这是一款广泛使用的Java集成...

    Java综合实践——学生成绩查询系统

    【Java综合实践——学生成绩查询系统】是一个典型的后端开发项目,主要使用Java语言进行构建,用于实现对学生考试成绩的存储、查询和管理功能。在这个项目中,开发者可能运用了Java的基础语法、面向对象编程思想以及...

    Java综合程序设计-计算器-实验报告

    【Java综合程序设计-计算器-实验报告】 在本次实验中,学生被要求设计一个简易计算器,涵盖运算符优先级,以提升对Java编程语言和图形用户界面(GUI)的理解。这个设计旨在巩固理论知识,增强实际编程技能,并培养...

    JAVA 综合面试题.doc

    JAVA 综合面试题 Java 是一种面向对象的编程语言,广泛应用于 Android 应用开发、Web 应用开发、企业软件开发等领域。以下是 Java 综合面试题的知识点总结: 一、Java 基础知识 1. super()与this()的区别:super...

Global site tag (gtag.js) - Google Analytics