600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java实验作业答案_JAVA实验作业 JAVA题目

java实验作业答案_JAVA实验作业 JAVA题目

时间:2018-09-10 11:13:40

相关推荐

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);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。