只供参考,抄袭可耻,复制不一定可以使用

实验6:继承与多态

1.定义一个Employee雇员类,含:姓名、年龄、工资等字段;继承Employee类设计Manager经理类,增加:管理人员数等字段;经理也是一个雇员,每一个员工有自己的经理。(修改已有的程序,即把所有属性都改成private时,相应地方如何修改)

package Word;

class Employee {

private String name;// 为了代码简单一些暂时不封装

private int age;

private float salary;

private Manager mgr = null;// 表示一个雇员有一个领导

public void setManager(Manager mgr){

this.mgr = mgr;

}

public Manager getManager(){

return this.mgr;

}

public Employee(String name, int age, float salary) {

this.name = name;

this.age = age;

this.salary = salary;

}

public String say() {

return "姓名:" + this.name + ",年龄:" + this.age + ",薪水:" + this.salary;

}

};

class Manager extends Employee {

private int number;// 管理人员数

public Manager(String name, int age, float salary, int number) {

super(name, age, salary);

this.number = number;

}

public String say() {

return super.say() + ",管理人员数:" + this.number;

}

}

public class Work {

public static void main(String args[]) {

Employee e = new Employee("李四", 20, 1500);

Manager m = new Manager("张三", 30, 3000, 5);

e.setManager(m);// m是e的领导

System.out.println("雇员信息:" + e.say());

if (e.getManager() != null)// 为了防止mgr的内容为空,如果为空则肯定出现NullPointerException

System.out.println("经理信息:" + e.getManager().say());

}

}

实验5:类与对象

1.编写一个代表三角形的类。其中,三条边为三角型的属性,并封装有求三角形的面积和周长的方法。并设计构造方法和toString() 方法。分别针对三条边为3,4,5和7,8,9的两个三角形进行测试。

package Word;

public class Work {

public static void main(String[] arg) {

// Triangle obj = new Triangle(3,4,5);

Triangle obj = new Triangle(7, 8, 9);

obj.getArea();

obj.getPerimeter();

System.out.print(obj.toString());

}

}

class Triangle {

private int a, b, c;

public Triangle(int d1, int d2, int d3) {

a = d1;

b = d2;

c = d3;

}

public void getArea() {

int p = (a + b + c) / 2;

double S = Math.sqrt((p * (p - a) * (p - b) * (p - c)));

System.out.println(S);

}

public void getPerimeter() {

int data;

data = a + b + c;

System.out.println(data);

}

public String toString() {

return "a:" + a + " b:" + b + " c:" + c;

}

}

2.编写一个学生类student,属性有:学号、姓名、年龄,将所有学生存储在一个数组中,自拟数据,用数组的初始化方法给数组赋值。并实现如下操作:

① 将所有学生年龄增加一岁;

② 按数组中顺序显示所有学生信息;

③ 查找显示所有年龄大于20岁的学生名单。

public class Work {

public static void main(String[] arg) {

Student obj = new Student();

obj.ageUp();

obj.show();

obj.show20();

}

}

class Student {

private String id, name, age;

private int r = 4;

private String list[][] = { { "001", "学生1", "18" }, { "002", "学生2", "19" },

{ "003", "学生3", "20" }, { "004", "学生4", "21" }, };

public void ageUp() {

for (int i = 0; i < r; i++) {

list[i][2] = Integer.parseInt(list[i][2]) + 1 + "";

System.out.println(list[i][2]);

}

}

public void show() {

for (int i = 0; i < r; i++) {

System.out.printf("学号:%s、姓名:%s、年龄:%s \r", list[i][0], list[i][1],

list[i][2]);

}

}

public void show20() {

for (int i = 0; i < r; i++) {

if(Integer.parseInt(list[i][2])>20){

System.out.printf("学号:%s、姓名:%s、年龄:%s \r", list[i][0], list[i][1],

list[i][2]);

}

}

}

}

实验4

1、 在一个元素值100以内,含20元素的一维整形数组元素中,求最大值、求平均、统计其中素数个数。

package Word;

public class Work {

public static void print(Object a){

System.out.println(a);

}

private static void tm4_1() {

//定义数组

int len = 20;

int list[] = new int[len];

//赋初始值

System.out.println("随机产生的20个元素为:");

for(int i=0;i

list[i] = (int) (Math.random()*101);

System.out.print(list[i]+",");

}

System.ou t.println();

//求最大值

int max = getMax(list);

System.out.println("最大值为:"+max);

//求平均

double average = getAverage(list);

System.out.printf("平均值为:%.2f \n",average);

//素数个数

int number=getSuShu(list);

System.out.printf("素数的个数为:%d",number);

}

private static int getSuShu(int [] list){

int data=0;

for(int i=0;i

boolean f=true;

int listData = list[i];

for(int j=2;j

if(listData % j == 0){

f = false;

break;

}

}

if(f)data++;

}

return data;

}

private static int getMax(int [] list){

int data = 0;

for(int i=0;i

if(data

}

return data;

}

private static double getAverage(int [] list){

double data;

double sum=0;

for(int i=0;i

sum+=list[i];

}

data = sum / list.length;

return data;

}

public static void main(String[] arge){

tm4_1();

}

}

2、编写根据三条边求三角形面积的方法。利用该方法求以下两个三角形面积。

p=(a+b+c)/2,S=√[p(p-a)(p-b)(p-c)]

(1)三条边分别为:3,4,5

(2)三条边分别为:5.3, 6.2, 8

package Word;

public class Work {

public static void print(Object a) {

System.out.println(a);

}

private static void tm4_2() {

// 使用方法的重载 根据数据类型的不同自动调用对应函数

int a = getTriangleArea(3, 4, 5);

double b = getTriangleArea(5.3, 6.2, 8);

System.out.printf("三条边分别为:3,4,5 面积为:%d \n"

+ " 三条边分别为:5.3, 6.2, 8 面积为:%f", a, b);

}

private static int getTriangleArea(int a, int b, int c) {

int p = (a + b + c) / 2;

int S = (int) Math.sqrt((p * (p - a) * (p - b) * (p - c)));

return S;

}

private static double getTriangleArea(double a, double b, double c) {

double p = (a + b + c) / 2;

double S = Math.sqrt((p * (p - a) * (p - b) * (p - c)));

return S;

}

public static void main(String[] arge) {

tm4_2();

}

}

3、从命令行参数获取两个整数,找出两个整数之间的所有素数,每行输出3个数。

public static void main(String[] arg) {

int a = Integer.parseInt(arg[0]);

int b = Integer.parseInt(arg[1]);

tm4_3(a, b);

}

private static void tm4_3(int a,int b){

int x;

if(a>b){

x = a;

a = b;

b = x;

}

int sum=0;

for(int i=a;i

boolean f=true;

for(int j=2;j

if(i % j == 0){

f = false;

break;

}

}

if(f){

sum++;

System.out.print(i+ " ");

if(sum % 3==0){

System.out.println();

}

}

}

}

实验3:流程控制语句

1、 用if语句实现主菜单的选择执行(选择)

private static void tm3_1() {

Scanner IO = new Scanner(System.in);

int Students = 0;

System.out.println("*******************");

System.out.println("1.增加一个学生");

System.out.println("2.查看有多少个学生");

System.out.println("3.退出程序");

System.out.println("请输入您的选择(1--3)");

System.out.println("*******************");

while(true){

int NumBer = IO.nextInt();

if(NumBer == 1){

Students++;

System.out.println("增加一个学生成功");

}else if(NumBer == 2){

System.out.printf("一共有%d个学生 \n",Students);

}else if(NumBer == 3){

System.out.println("退出成功");

break;

}

}

}

2、 用switch语句实现主菜单的选择执行(选择)

image.png

private static void tm3_2() {

Scanner IO = new Scanner(System.in);

System.out.println("*******************");

System.out.println("1.增加一个学生");

System.out.println("2.查看有多少个学生");

System.out.println("3.退出程序");

System.out.println("请输入您的选择(1--3)");

System.out.println("*******************");

int Students = 0;

GOEXIT:

while(true){

int NumBer = IO.nextInt();

switch(NumBer){

case 1:

Students++;

System.out.println("增加一个学生成功");

break;

case 2:

System.out.printf("一共有 %d 个学生 \r",Students);

break;

case 3:

System.out.print("退出成功");

break GOEXIT;

}

}

}

3、 从键盘输入a,b,c三个实数,计算方程ax2+bx+c=0的根。(选择)

private static void tm3_3_2() {

// 从键盘输入a,b,c三个实数,计算方程ax2+bx+c=0的根。(选择)

System.out.println("请输入a,b,c");

Scanner IO = new Scanner(System.in);

int a = IO.nextInt();

int b = IO.nextInt();

int c = IO.nextInt();

double der_ta = b*b-4*a*c;

if(der_ta<0){

System.out.println("无解");

}

else if(der_ta>0){

System.out.println("2个根分别为:");

System.out.println(-b+Math.sqrt(der_ta));

System.out.println(-b-Math.sqrt(der_ta));

}else if(der_ta==0){

System.out.println("1个根为:");

System.out.println(-b+Math.sqrt(der_ta));

}

}

private static void tm3_3_1() {

// 从键盘输入a,b,c三个实数,计算方程ax2+bx+c=0的根。(选择)

System.out.println("请输入a,b,c");

Scanner IO = new Scanner(System.in);

int a = IO.nextInt();

int b = IO.nextInt();

int c = IO.nextInt();

double der_ta = b*b-4*a*c;

switch(der_ta<0?1:der_ta>0?2:3){

case 1:

System.out.println("无解");

break;

case 2:

System.out.println("2个根分别为:");

System.out.println(-b+Math.sqrt(der_ta));

System.out.println(-b-Math.sqrt(der_ta));

break;

case 3:

System.out.println("1个根为:");

System.out.println(-b+Math.sqrt(der_ta));

break;

}

}

4、 输出10—100之间的全部素数。所谓素数是指除了1和它本身之外,不能被任何正数整除的数。计算n至少多大时,以下不等式成立。(循环)

private static void tm3_4_3(){

int i = 10;

do{

int j = 2;

boolean f = true;

do{

// System.out.println(j);

if((i%j)==0){

f = false;

break;

}

j++;

}while(j

if(f){

System.out.println(i);

}

i++;

}while(i<=100);

}

private static void tm3_4_2(){

int i = 10;

while(i<=100){

int j = 2;

boolean f = true;

while(j

if((i%j)==0){

f = false;

break;

}

j++;

}

if(f){

System.out.println(i);

}

i++;

}

}

private static void tm3_4_1(){

/**

* 输出10—100之间的全部素数。

* 所谓素数是指除了1和它本身之外,

* 不能被任何正数整除的数。

* 计算n至少多大时,以下不等式成立。(循环)

*/

for(int i=10;i<=100;i++){

boolean f = true;

for(int j = 2;j

if((i % j) == 0){

f = false;

break;

}

}

if(f == true){

System.out.println(i);

}

}

}

5、输入一个长整数,统计该数的数字系列中大于等于4的数字个数(循环)

private static void tm3_5_2(){

/**

* 输入一个长整数,

* 统计该数的数字

* 系列中大于等于4的数字个数(循环)

*/

Scanner IO = new Scanner(System.in);

System.out.print("请输入一个数字:");

long NumBer = IO.nextLong();

int sum = 0;

do{

if(NumBer % 10 >=4){

sum++;

}

NumBer /= 10;

}while(NumBer*10 / 10 > 0);

System.out.printf("大于等于4的数字个数为:%d个",sum);

}

private static void tm3_5_1(){

/**

* 输入一个长整数,

* 统计该数的数字

* 系列中大于等于4的数字个数(循环)

*/

Scanner IO = new Scanner(System.in);

System.out.prin("请输入一个数字:");

long NumBer = IO.nextLong();

int sum = 0;

while(NumBer*10 / 10 > 0){

if(NumBer % 10 >=4){

sum++;

}

NumBer /= 10;

}

System.out.printf("大于等于4的数字个数为:%d个",sum);

}

private static void tm3_5_3(){

/**

* 输入一个长整数,

* 统计该数的数字

* 系列中大于等于4的数字个数(循环)

*/

Scanner IO = new Scanner(System.in);

System.out.print("请输入一个数字:");

long NumBer = IO.nextLong();

int sum = 0;

for(;NumBer*10 / 10 > 0;NumBer /= 10){

//什么时候执行NumBer /= 10

if(NumBer % 10 >=4){

sum++;

}

}

System.out.printf("大于等于4的数字个数为:%d个",sum);

}

6、 编程实现对输入的字符进行加密,直到按回车结束。加密的规律是:每个字母用其后第4个字母代替,26个字母循环排列,其他字符不变。例如:China!加密为****Glmre!****。(循环)

private static void tm3_6_3(){

/*

* 编程实现对输入的字符进行加密,直到按回车结束。

* 加密的规律是:每个字母用其后第4个字母代替,

* 26个字母循环排列,其他字符不变。

* 例如:China!加密为Glmre!。(循环)

*/

Scanner IO = new Scanner(System.in);

System.out.println("请输入您的内容:");

String text =IO.next();//"China!";

int len = text.length();

int i=1;

do{

String head = text.substring(0,i-1);

String middle = text.substring(i-1,i);

String tail = text.substring(i,len);

char newMiddle = middle.charAt(0);

if(newMiddle<='z'&&newMiddle>='a'||newMiddle<='Z'&&newMiddle>='A'){

newMiddle =(char)(newMiddle+4);

}

text = head + newMiddle +tail;

i++;

}while(i<=len);

System.out.print(text);

}

private static void tm3_6_2(){

/*

* 编程实现对输入的字符进行加密,直到按回车结束。

* 加密的规律是:每个字母用其后第4个字母代替,

* 26个字母循环排列,其他字符不变。

* 例如:China!加密为Glmre!。(循环)

*/

Scanner IO = new Scanner(System.in);

System.out.println("请输入您的内容:");

String text =IO.next();//"China!";

int len = text.length();

int i=1;

while(i<=len){

String head = text.substring(0,i-1);

String middle = text.substring(i-1,i);

String tail = text.substring(i,len);

char newMiddle = middle.charAt(0);

if(newMiddle<='z'&&newMiddle>='a'||newMiddle<='Z'&&newMiddle>='A'){

newMiddle =(char)(newMiddle+4);

}

text = head + newMiddle +tail;

i++;

}

System.out.print(text);

}

private static void tm3_6_1(){

/*

* 编程实现对输入的字符进行加密,直到按回车结束。

* 加密的规律是:每个字母用其后第4个字母代替,

* 26个字母循环排列,其他字符不变。

* 例如:China!加密为Glmre!。(循环)

*/

Scanner IO = new Scanner(System.in);

System.out.println("请输入您的内容:");

String text =IO.next();//"China!";

int len = text.length();

for(int i = 1;i<=len;i++){

String head = text.substring(0,i-1);

String middle = text.substring(i-1,i);

String tail = text.substring(i,len);

char newMiddle = middle.charAt(0);

if(newMiddle<='z'&&newMiddle>='a'||newMiddle<='Z'&&newMiddle>='A'){

newMiddle =(char)(newMiddle+4);

}

text = head + newMiddle +tail;

}

System.out.print(text);

}

7、(1+1/2+1/3+……+1/n)>6(循环,可选)

private static void tm3_7_3(){

/**

* (1+1/2+1/3+……+1/n)>6(循环,可选)

*/

System.out.println("(1+1/2+1/3+……+1/n)>6");

double n = 0.0;

for(double x = 1.0;x<=6;x += 1/(n+1)){

n++;

}

System.out.printf("当n=%d时条件成立",(int)n+1);

}

private static void tm3_7_2(){

/**

* (1+1/2+1/3+……+1/n)>6(循环,可选)

*/

System.out.println("(1+1/2+1/3+……+1/n)>6");

double n = 1.0;

double x = 1.0;

while(x<=6){

x += 1/(n+1);

n++;

};

System.out.printf("当n=%d时条件成立",(int)n);

}

private static void tm3_7_1(){

/**

* (1+1/2+1/3+……+1/n)>6(循环,可选)

*/

System.out.println("(1+1/2+1/3+……+1/n)>6");

double n = 1.0;

double x = 1.0;

do{

x += 1/(n+1);

n++;

}while(x<=6);

System.out.printf("当n=%d时条件成立",(int)n);

}

实验2:数据类型与表达式

1、输入园的半径,求周长和面积(用控制台和对话框****2****种方法)

2、用产生随机数的方法产生两个1位整数,求其和与积

3、将用户输入的大写字母转换成小写字母。

答案

private static void tm2_3(){

// 将用户输入的大写字母转换成小写字母。

Scanner IO = new Scanner(System.in);

String text = "AN11ssCI";//IO.next();

int len = text.length();

String NewText = "";

for(int i = 0;i

String MiddleText = text.substring(i,i+1);

char NewChar = MiddleText.charAt(0);

if(NewChar<='Z'&&NewChar>='A'){

NewText += (char)(NewChar+32);

}else{

NewText += NewChar;

}

}

System.out.println(NewText);

}

private static void tm2_2(){

/*

* 用产生随机数的方法产生两个1位整数,求其和与积.

*/

int a =(int) (Math.random()*10);

int b =(int) (Math.random()*10);

System.out.printf("a:%d,b:%d,和:%d,积:%d",a,b,a+b,a*b);

}

java实验作业答案_JAVA实验作业 JAVA题目相关推荐

  1. java实验3答案_java实验3 .doc

    [单选题]主机甲与主机乙之间建立一个TCP连接,主机甲向主机乙发送了3个连接的TCP段,分别包含300字节.400字节和500字节的有效载荷,第3个段的序号为900.若主机乙仅正确接收第1和第3个段, ...

  2. java实验报告答案_Java实验报告--继承与接口

    学院 专业 班.学号 姓名 教师评定_________________ 实验题目 继承与接口 一. 实验目的与要求 实验目的: 1.掌握类的继承关系. 2.掌握接口的定义与使用. 实验要求: 按下列要 ...

  3. java实验及答案_JAVA实验4-1答案

    GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 学院(系) 学生姓名 实验四(1). 类与对象(第1 部分) 信息学院 彭德权 专业 Java程序设计与开发 课程名称 课 ...

  4. java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...

    导语 <Java面向对象程序设计实验指导与习题解答>是<Java面向对象程序设计>(作者耿祥义,清华大学出版社出版,2010)的配套实验指导和习题解答,目的是通过一系列实验练习 ...

  5. java红牛农场答案_Java面向对象程序设计实验指导与习题解答

    第1章 java入门 实验1一个简单的应用程序 实验2教室.教师和学生 实验答案 第2章 基本数据类型 实验1输出特殊偏旁的汉字 实验2输入.输出学生的基本信息 实验3超大整数的加法 实验答案 第3章 ...

  6. java实验指导书(实验四)答案_java程序设计实验指导书答案

    ? 狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的.狗通常的时候和人 打招呼会通过"摇摇尾巴",在被抚摸感到舒服的时候,会"旺旺叫",而在受到惊吓情 ...

  7. java 实验报告模板_Java实验报告模板.doc.doc

    Java实验报告模板.doc 实 验 报 告 课程名称Java面向对象程序设计实验名称检查危险品姓名吴超益学号201424134114专业年级14物联网一.实验目的: 本实验的目的是让学生掌握try- ...

  8. java实验的总结_Java实验总结——初学(上)

    实验一 集合(一) [实验目的与要求] 1.了解Java集合类的概念: 2.掌握常用集合类的使用方法和技巧,并能应用到实际操作中. [实验内容] 1.请编写一个程序,要求如下:1)首先生成10个1至1 ...

  9. java作品设计报告书_java实验报告书格式模板.doc

    java实验报告书格式模板.doc 广东第二师范学院 计算机科学系 实验报告Java实验报告实验名称 实验分组号 实 验 人 班 级 学 号 实验指导教师 实验场地 实验时间 成 绩 a51ced6b ...

最新文章

  1. graphql redux_如何在Redux应用程序中使用GraphQL
  2. MathType的公式Latex到Katex转换程序
  3. Windbg+sos调试.net笔记
  4. java 并发模型总类_java并发编程系列-内存模型基础
  5. 18 计量单位xx未对语言xx定义/在语言xx中没有维护短文本
  6. 快速正确的修改变量的命名和如何正确规范的注释
  7. Pentium 4处理器架构/微架构/流水线 (2) - SSE2
  8. vba mysql 没有为命令对象设置命令_怎样解决“没有为命令对象设置命令”的错误? - .Net论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  9. 【资料合集】阿里巴巴开源技术汇总——内含115个软件与100+技术文档、PDF下载
  10. RH850中断使用方法
  11. matlab 数学符号输入,matlab输入数学符号
  12. csgo服务器显示连接中,CSGO提示连接到官方任意服务器失败怎么办?
  13. 014_SSS_High-Resolution Image Synthesis with Latent Diffusion Models
  14. mac中clion无法运行
  15. ****you do not have the permissions necessary t...
  16. php使用fleaphp框架做开发。
  17. horizon流程图_致同Horizon审计方法论.pdf
  18. Python基础-测试代码-test2.py
  19. 《大学英语(四)》在线平时作业2
  20. 正则表达式-匹配ip及rtsp

热门文章

  1. 5月全球CTF比赛时间汇总来了!
  2. 想要避免After Effects渲染失败的问题,5个小技巧必看
  3. conda SSL错误 SSLError,爬虫应用总结
  4. 风控决策引擎——决策流构建实战
  5. 获取微信运动 php,微信运动数据抓取(PHP语言)
  6. 倒计时三天-谈谈互联网的删除和被遗忘权
  7. 欧盟要求谷歌美国站点也要执行“被遗忘权”
  8. everything用于移动硬盘资料管理(二):离线搜索全部移动硬盘
  9. Sentry 开发者贡献指南 - SDK 开发(性能监控)
  10. Android从当前APP跳转到其他应用