java实验作业答案_JAVA实验作业 JAVA题目
只供参考,抄袭可耻,复制不一定可以使用
实验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题目相关推荐
- java实验3答案_java实验3 .doc
[单选题]主机甲与主机乙之间建立一个TCP连接,主机甲向主机乙发送了3个连接的TCP段,分别包含300字节.400字节和500字节的有效载荷,第3个段的序号为900.若主机乙仅正确接收第1和第3个段, ...
- java实验报告答案_Java实验报告--继承与接口
学院 专业 班.学号 姓名 教师评定_________________ 实验题目 继承与接口 一. 实验目的与要求 实验目的: 1.掌握类的继承关系. 2.掌握接口的定义与使用. 实验要求: 按下列要 ...
- java实验及答案_JAVA实验4-1答案
GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 学院(系) 学生姓名 实验四(1). 类与对象(第1 部分) 信息学院 彭德权 专业 Java程序设计与开发 课程名称 课 ...
- java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...
导语 <Java面向对象程序设计实验指导与习题解答>是<Java面向对象程序设计>(作者耿祥义,清华大学出版社出版,2010)的配套实验指导和习题解答,目的是通过一系列实验练习 ...
- java红牛农场答案_Java面向对象程序设计实验指导与习题解答
第1章 java入门 实验1一个简单的应用程序 实验2教室.教师和学生 实验答案 第2章 基本数据类型 实验1输出特殊偏旁的汉字 实验2输入.输出学生的基本信息 实验3超大整数的加法 实验答案 第3章 ...
- java实验指导书(实验四)答案_java程序设计实验指导书答案
? 狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的.狗通常的时候和人 打招呼会通过"摇摇尾巴",在被抚摸感到舒服的时候,会"旺旺叫",而在受到惊吓情 ...
- java 实验报告模板_Java实验报告模板.doc.doc
Java实验报告模板.doc 实 验 报 告 课程名称Java面向对象程序设计实验名称检查危险品姓名吴超益学号201424134114专业年级14物联网一.实验目的: 本实验的目的是让学生掌握try- ...
- java实验的总结_Java实验总结——初学(上)
实验一 集合(一) [实验目的与要求] 1.了解Java集合类的概念: 2.掌握常用集合类的使用方法和技巧,并能应用到实际操作中. [实验内容] 1.请编写一个程序,要求如下:1)首先生成10个1至1 ...
- java作品设计报告书_java实验报告书格式模板.doc
java实验报告书格式模板.doc 广东第二师范学院 计算机科学系 实验报告Java实验报告实验名称 实验分组号 实 验 人 班 级 学 号 实验指导教师 实验场地 实验时间 成 绩 a51ced6b ...
最新文章
- graphql redux_如何在Redux应用程序中使用GraphQL
- MathType的公式Latex到Katex转换程序
- Windbg+sos调试.net笔记
- java 并发模型总类_java并发编程系列-内存模型基础
- 18 计量单位xx未对语言xx定义/在语言xx中没有维护短文本
- 快速正确的修改变量的命名和如何正确规范的注释
- Pentium 4处理器架构/微架构/流水线 (2) - SSE2
- vba mysql 没有为命令对象设置命令_怎样解决“没有为命令对象设置命令”的错误? - .Net论坛 - 51CTO技术论坛_中国领先的IT技术社区...
- 【资料合集】阿里巴巴开源技术汇总——内含115个软件与100+技术文档、PDF下载
- RH850中断使用方法
- matlab 数学符号输入,matlab输入数学符号
- csgo服务器显示连接中,CSGO提示连接到官方任意服务器失败怎么办?
- 014_SSS_High-Resolution Image Synthesis with Latent Diffusion Models
- mac中clion无法运行
- ****you do not have the permissions necessary t...
- php使用fleaphp框架做开发。
- horizon流程图_致同Horizon审计方法论.pdf
- Python基础-测试代码-test2.py
- 《大学英语(四)》在线平时作业2
- 正则表达式-匹配ip及rtsp
热门文章
- 5月全球CTF比赛时间汇总来了!
- 想要避免After Effects渲染失败的问题,5个小技巧必看
- conda SSL错误 SSLError,爬虫应用总结
- 风控决策引擎——决策流构建实战
- 获取微信运动 php,微信运动数据抓取(PHP语言)
- 倒计时三天-谈谈互联网的删除和被遗忘权
- 欧盟要求谷歌美国站点也要执行“被遗忘权”
- everything用于移动硬盘资料管理(二):离线搜索全部移动硬盘
- Sentry 开发者贡献指南 - SDK 开发(性能监控)
- Android从当前APP跳转到其他应用